我有一个程序,它提供一个QString并将每个"\"更改为"/".看起来很简单但是当我使用下面的代码时,会发生5个错误:
QString path ;
path = "C:\MyLife\Image Collection" ;
for( int i=0 ; i < path.size() ; i++ )
{
if( path[i] == "\" )
path[i] = "/" ;
}
qDebug() << path ;
Run Code Online (Sandbox Code Playgroud)
Bat*_*hyX 14
拜托,现在停止流血!并使用跨平台目录/路径包装类.Qt有一些:QDir,QFileInfo,QFile.只需使用它们.
哦,QDir有一个很好的静态方法,它完全符合你的要求:
path = QDir::fromNativeSeparators(path);
Run Code Online (Sandbox Code Playgroud)
没有理由手动(有错误)
你需要逃脱
if( path[i] == '\\' )
Run Code Online (Sandbox Code Playgroud)
与...相同
path = "C:\\MyLife\\Image Collection" ;
Run Code Online (Sandbox Code Playgroud)
http://en.wikipedia.org/wiki/C_syntax#Backslash_escapes