您的位置:首页 > 其它

CString字符串相加中遇到的一个问题

2017-06-19 19:30 239 查看
最近在写程序的时候发现了一个比较冷门的错误,花了一点时间解决了这个问题,下面记录一下以备用:

我在调用ini配置文件的时候,使用了这样一段代码:

CString sCurrentPath;
GetCurrentDirectoryW(MAX_CSTRING_LENGTH,sCurrentPath.GetBuffer(MAX_CSTRING_LENGTH));
CString sFilePath = sCurrentPath + L"\\sys.ini";


然后我发现,sCurrentPath的值是正常的,但是sFilePath的值仍然是"\\sys.ini"。
经过摸索发现问题应该这么解决:
在GetCurrentDirectoryW后面添加一句:


sCurrentPath.ReleaseBuffer();


释放CString的缓冲区之后,该CString变量才能够用于加法计算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息