誰かがフォローを手伝ってもらえますか?特定のファイルのファイルパスが格納されたQStringがあるとし、そこから/
(スラッシュ)を\\
(二重円記号)に置き換えたいと思います。
mystring.replace("/","\\");
ただし、\
の代わりに\\
を1つだけ配置します。
置換前の文字列:D:/myfiles/abc.Zip
置換後の文字列:D:\myfiles\abc.Zip
予期される文字列:D:\\myfiles\\abc.Zip
使用する必要があります:
mystring.replace("/","\\\\");
コンパイラは、文字列のエスケープ文字として\
を使用するため(\t
、\n
、\r
など)、\\
は実際には\
に変換されます。 2つの円記号が必要な場合は、4つから始める必要があります。
パスをWindows形式に変換する場合は、単純に QDir :: toNativeSeparators() :を使用できます。
qDebug() << QDir::toNativeSeparators("c:/windows/path"); // Prints "c:\windows\path"