CString 在VS2010上使用和VC6上使用不同,请指正
CString 在VS2010上使用跟VC6上使用不同,请指正
GetBuffer , GetLength 错误, 怎么办呢?
在VC6上面正确的代码,到VS2010 就错了
CString str = _T("123456");
使用 str.GetBuffer 和 str. GetLength 得到的结果不对。
------解决方案--------------------
帮你顶。。。。。。。
------解决方案--------------------
http://blog.****.net/lewutian/article/details/6787024
------解决方案--------------------
fileName.Write(str.GetBuffer(str.GetLength() *2), str.GetLength()*2);
--》
fileName.Write(str, str.GetLength() * sizeof(TCHAR));
------解决方案--------------------
CString的GetBuffe方法要和ReleaseBuffer方法成对使用;参看MSDN
------解决方案--------------------
因为你调用CFile::Write写文件,第二个表示的是字节数,不是字符数。
------解决方案--------------------
vc 中默认采用的是ans码,按照字节进行计算,而到了VS2010里面vc工程默认的编码方式是unicode的,也就是wchar类型的,按照双字节进行编码,你看看你的代码使用了CString str = _T("123456");进行了宏转换,你的工程是unicode编码方式时就是CWString了
GetBuffer , GetLength 错误, 怎么办呢?
在VC6上面正确的代码,到VS2010 就错了
CString str = _T("123456");
使用 str.GetBuffer 和 str. GetLength 得到的结果不对。
------解决方案--------------------
帮你顶。。。。。。。
------解决方案--------------------
http://blog.****.net/lewutian/article/details/6787024
------解决方案--------------------
fileName.Write(str.GetBuffer(str.GetLength() *2), str.GetLength()*2);
--》
fileName.Write(str, str.GetLength() * sizeof(TCHAR));
------解决方案--------------------
CString的GetBuffe方法要和ReleaseBuffer方法成对使用;参看MSDN
------解决方案--------------------
因为你调用CFile::Write写文件,第二个表示的是字节数,不是字符数。
------解决方案--------------------
vc 中默认采用的是ans码,按照字节进行计算,而到了VS2010里面vc工程默认的编码方式是unicode的,也就是wchar类型的,按照双字节进行编码,你看看你的代码使用了CString str = _T("123456");进行了宏转换,你的工程是unicode编码方式时就是CWString了