2010-03-29 64 views
1

我想更換temp.replaceQString的更換工作不細

(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\*.* 

兩個wcstring和sf.pFrom是相同的,則Y分配時不gettng答案sf.pFrom = wcstring;

回答

10

通過與另一\逃脫它:

"\\" 

這是一般的C/C++的疑難雜症有關如何轉義字符串中的作品。由於\用於轉義,因此在字符串中有特殊含義,因此應該自行轉義。


你的編譯器引發的錯誤是,它看到第二個字符串常量下去,直到該行的結尾,因爲\"從字符串尾部排除它。

4

下面的幫助是爲Qt4庫!

如果您需要規範化文件絕對路徑,您可以使用您需要的toNativeSeparators函數。下面是關於它的Qt的助手信息:

的QString的QDir :: toNativeSeparators( 常量的QString &將pathName) [靜態] 返回路徑名用 '/' 分隔符 轉換成適合分離器 底層操作系統爲 。

在Windows上, toNativeSeparators(「c:/ winnt/system32」) 返回「c:\ winnt \ system32」。

返回的字符串可能與 系統上的參數相同,例如在Unix上的一些操作 系統。

此功能是在Qt 4.2中引入的。

另請參見fromNativeSeparators()和 separator()。