如何使用QString replace()将'/'替换为'\\'?

Var*_*tre 13 qt cross-platform qt4 path

有人可以帮忙吗?假设我有一个QString,其中存储了某个文件的文件路径,我想/\\(双反斜杠)替换它的(斜杠)我试过:

mystring.replace("/","\\");
Run Code Online (Sandbox Code Playgroud)

但它只放一个\而不是\\

更换前的字符串: D:/myfiles/abc.zip

更换后的字符串: D:\myfiles\abc.zip

预期字符串: D:\\myfiles\\abc.zip

pax*_*blo 26

你需要使用:

mystring.replace("/","\\\\");
Run Code Online (Sandbox Code Playgroud)

编译器使用\的字符串中的转义字符(喜欢的事情\t,\n\r),这样\\实际上变成\.如果你需要两个反斜杠,你需要从四开始.


lau*_*ent 23

如果要将路径转换为Windows格式,只需使用QDir :: toNativeSeparators():

qDebug() << QDir::toNativeSeparators("c:/windows/path"); // Prints "c:\windows\path"
Run Code Online (Sandbox Code Playgroud)