我想替换temp.replace
(QString("/"), QString("\"));
我在这里得到错误 错误C2001:常量中的换行符 错误C2275:'QString':非法使用此类型作为表达式
如何将“/”替换为“\”
thakns 4你的回答。但直到现在我还没有解决我的问题。请检查我的代码
//转换为wchar_t *
size_t origsize = strlen(toChar) + 1;
const size_t newsize = 100;
size_t convertedChars = 0;
wchar_t wcstring[newsize];
mbstowcs_s(&convertedChars, wcstring, origsize, toChar, _TRUNCATE);
wcscat_s(wcstring, L"\\*.*\0");
wcout << wcstring << endl; // C:\Documents and Settings\softnotions\Desktop\Release\*.*
SHFILEOPSTRUCT sf;
memset(&sf,0,sizeof(sf));
sf.hwnd = 0;
sf.wFunc = FO_COPY;
//sf.pFrom =wcstring; /* when giving wcstring i am not getting answer */
sf.pFrom = L"C:\\Documents and Settings\\softnotions\\Desktop\\Release\\*.*\0";
wcout << sf.pFrom <<endl; // C:\Documents and Settings\softnotions\Desktop\Release\*.*
当分配sf.pFrom = wcstring时,wcstring和sf.pFrom都是相同的y not gettng答案;
答案 0 :(得分:10)
通过另一个\
转义:
"\\"
这是一个关于转义如何在字符串中起作用的一般C / C ++问题。由于\
用于转义,因此在字符串中具有特殊含义,因此它应该自行转义。
编译器抛出的错误是它看到第二个字符串常量一直持续到行尾,因为\"
阻止它结束字符串。
答案 1 :(得分:4)
以下帮助适用于Qt4库!
如果您需要规范化文件绝对路径,可以使用 toNativeSeparators 函数。以下是有关它的Qt助手信息:
QString QDir :: toNativeSeparators( const QString&amp; pathName) [静态] 返回带有'/'的pathName 分隔符转换为分隔符 适合的 基础操作系统。
在Windows上, toNativeSeparators( “C:/ WINNT / SYSTEM32”) 返回“c:\ winnt \ system32”。
返回的字符串可能与 关于某些操作的论点 系统,例如在Unix上。
这个功能是在Qt中引入的 4.2。
另见fromNativeSeparators()和 分离器()。