关于 CFile Write Unicode的问题
CStringW strSaveFile ;
CFile file;
file.Open(pstrPathName,CFile::modeReadWrite | CFile::typeBinary | CFile::shareDenyWrite);
short iHead = (short)0xfeff ;
file.Write(&iHead, 2) ;
file.Write(strSaveFile,wcslen(strSaveFile));
strSaveFIle 中是UNICODE 字符 为什么我写的时候 老是写一半 就不写了呢?
strSaveFile 也很小。 我试了 即使 是几个字节 或者几十个字节 都写不完。不知道为什么。
[解决办法]
file.Write(strSaveFile,wcslen(strSaveFile));
-->
file.Write(strSaveFile,2*wcslen(strSaveFile));
wcslen返回的是字符串里的字符数,file.Write需要的是字节数。