誰かがフォローするのを手伝ってもらえますか?特定のファイルのファイルパスが格納されたQStringがあるとします。その中の/(スラッシュ)\\を、試した(二重円記号)に置き換えたいと思います。
mystring.replace("/","\\");
\しかし、それは代わりに単一を置くだけです\\
交換前の文字列:D:/myfiles/abc.zip
交換後の文字列:D:\myfiles\abc.zip
予想される文字列:D:\\myfiles\\abc.zip
誰かがフォローするのを手伝ってもらえますか?特定のファイルのファイルパスが格納されたQStringがあるとします。その中の/(スラッシュ)\\を、試した(二重円記号)に置き換えたいと思います。
mystring.replace("/","\\");
\しかし、それは代わりに単一を置くだけです\\
交換前の文字列:D:/myfiles/abc.zip
交換後の文字列:D:\myfiles\abc.zip
予想される文字列:D:\\myfiles\\abc.zip
使用する必要があります:
mystring.replace("/","\\\\");
コンパイラは、文字列( 、、など)\のエスケープ文字として使用するため、実際には。に変換されます。2つの円記号が必要な場合は、4つから始める必要があります。\t\n\r\\\
パスをWindows形式に変換する場合は、QDir :: toNativeSeparators():を使用できます。
qDebug() << QDir::toNativeSeparators("c:/windows/path"); // Prints "c:\windows\path"
1)なぜそれらを置き換えたいのですか?AFAIRスラッシュはファイル操作でも機能します(OSに関係なく)。
2)ドキュメントを読み込もうとしましたか?たとえば、なぜ\\単一の円記号になるのですか?