中國外發(fā)加工網(wǎng)app北京網(wǎng)站優(yōu)化推廣公司
問題1:xx.Format()不存在與參數(shù)列表匹配的重載函數(shù)
問題:文件的路徑名字是通過Format轉(zhuǎn)換組合而成的,會(huì)報(bào)錯(cuò)“FileName.Format()不存在與參數(shù)列表匹配的重載函數(shù)”。
FileName.Format("%s%d", FilePath, num);//報(bào)錯(cuò):FileName.Format()不存在與參數(shù)列表匹配的重載函數(shù)
原因:VS默認(rèn)使用的是“unicode”編碼。
解決方案:
- 為Format格式中加入“T_”或者“L”。
FileName.Format(L"%s%d", FilePath, num);
FileName.Format(_T("%s%d"), FilePath, num);
- 解決方案窗口右鍵工程名->屬性->配置屬性->常規(guī)->項(xiàng)目默認(rèn)值->字符集->選擇“多字節(jié)”。
問題2:Format格式中加入“T_”或者“L”組成的地址,fopen_s無法為其創(chuàng)建文件
問題:問題1中使用Format格式中加入“T_”或者“L”來解決地址轉(zhuǎn)換組合問題,地址路徑正確但fopen_s也無法創(chuàng)建文件。
FileName.Format(L"%s%d", FilePath, num);
FileName = FileName + (CString)(".txt");
fopen_s(&file, (const char*)(FileName.GetBuffer()), "wb");//無法創(chuàng)建,返回值是NULL
原因:fopen_s無法識(shí)別該編碼的路徑。
解決方案:
- 解決方案窗口右鍵工程名->屬性->配置屬性->常規(guī)->項(xiàng)目默認(rèn)值->字符集->選擇“多字節(jié)”。