誰かがフォローするのを手伝ってもらえますか?特定のファイルのファイルパスが格納された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)ドキュメントを読み込もうとしましたか?たとえば、なぜ\\
単一の円記号になるのですか?