任何人都可以幫忙跟隨?假設我有預存一定文件的文件路徑爲QString,我想從它與\\
(雙反斜線)更換/
(斜槓)我想:如何用''替換'/'使用QString替換()?
mystring.replace("/","\\");
但它只是提出一個\
代替更換前\\
字符串:D:\myfiles\abc.zip
EXPEC:更換後D:/myfiles/abc.zip
字符串泰德字符串:D:\\myfiles\\abc.zip
任何人都可以幫忙跟隨?假設我有預存一定文件的文件路徑爲QString,我想從它與\\
(雙反斜線)更換/
(斜槓)我想:如何用''替換'/'使用QString替換()?
mystring.replace("/","\\");
但它只是提出一個\
代替更換前\\
字符串:D:\myfiles\abc.zip
EXPEC:更換後D:/myfiles/abc.zip
字符串泰德字符串:D:\\myfiles\\abc.zip
您需要使用:
mystring.replace("/","\\\\");
編譯器使用\
作爲字符串轉義字符(對於像\t
,\n
或\r
),以便\\
實際上變成\
。如果你需要兩個反斜槓,你需要從四個開始。
1)爲什麼要替換它們,AFAIR正斜槓也可以在文件操作中工作(不管OS如何)。
2)您是否嘗試閱讀文檔 - 例如爲什麼\\
會導致單個反斜槓?
因爲在Android手機中執行adb操作時正斜槓不起作用他們需要用雙反斜線代替(即使單反斜槓也不起作用):p – 2012-08-07 08:40:07
您可以閱讀paxdiablo在文檔中發佈的解釋,它清楚地描述了使用單個'\\'作爲轉義字符。每個轉義字符都會轉義一個字符。 – 2012-08-07 08:45:11
如果你想路徑轉換爲Windows格式,你可以簡單地使用QDir::toNativeSeparators():
qDebug() << QDir::toNativeSeparators("c:/windows/path"); // Prints "c:\windows\path"
不能確定,但據我記得一個QFile/QFileInfo愉快地與任何目錄分隔 – friendzis 2012-08-07 08:33:18
我很驚訝工作這實際上編譯。是不是你用第三個'\\'轉義關閉'''?你用什麼語言?C++? – CodesInChaos 2012-08-07 08:34:45
但是adb需要'\\':p 我正在製作一個自動adb工具:) – 2012-08-07 08:35:02