13

誰かがフォローするのを手伝ってもらえますか?特定のファイルのファイルパスが格納されたQStringがあるとします。その中の/(スラッシュ)\\を、試した(二重円記号)に置き換えたいと思います。

mystring.replace("/","\\");

\しかし、それは代わりに単一を置くだけです\\

交換前の文字列:D:/myfiles/abc.zip

交換後の文字列:D:\myfiles\abc.zip

予想される文字列:D:\\myfiles\\abc.zip

4

3 に答える 3

29

使用する必要があります:

mystring.replace("/","\\\\");

コンパイラは、文字列( 、、など)\のエスケープ文字として使用するため、実際には。に変換されます。2つの円記号が必要な場合は、4つから始める必要があります。\t\n\r\\\

于 2012-08-07T08:29:43.230 に答える
27

パスをWindows形式に変換する場合は、QDir :: toNativeSeparators():を使用できます。

qDebug() << QDir::toNativeSeparators("c:/windows/path"); // Prints "c:\windows\path"
于 2013-04-09T14:18:51.767 に答える
-1

1)なぜそれらを置き換えたいのですか?AFAIRスラッシュはファイル操作でも機能します(OSに関係なく)。
2)ドキュメントを読み込もうとしましたか?たとえば、なぜ\\単一の円記号になるのですか?

于 2012-08-07T08:31:24.793 に答える