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

来源:互联网 发布:国内开源php erp 编辑:程序博客网 时间:2024/05/29 10:37

最近在写程序的时候发现了一个比较冷门的错误,花了一点时间解决了这个问题,下面记录一下以备用:
我在调用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变量才能够用于加法计算。