代码如下
CString szCurPath;
CString szIniFile;GetCurrentDirectory(MAX_PATH,szCurPath.GetBuffer(MAX_PATH));
szIniFile= szCurPath + CString("\\file.ini");szCurPath变量上确实已经被赋了值(等于当前工作目录的路径),但是和CString("\\file.ini")相加想赋给szIniFile的时候却怎么也赋不了,szIniFile里只有"\file.ini",真是百思不得其解,还请高手们赐教,谢谢.
CString szCurPath;
CString szIniFile;GetCurrentDirectory(MAX_PATH,szCurPath.GetBuffer(MAX_PATH));
szIniFile= szCurPath + CString("\\file.ini");szCurPath变量上确实已经被赋了值(等于当前工作目录的路径),但是和CString("\\file.ini")相加想赋给szIniFile的时候却怎么也赋不了,szIniFile里只有"\file.ini",真是百思不得其解,还请高手们赐教,谢谢.
解决方案 »
- 音频流的传送 socket该如何设计?
- 为什么要使用函数指针类型,有什么好处?
- 呜~~~呜~~~~呜~~~~俺做了个WEB聊天室好慢,帮我诊治诊治...
- 在线等待,关于Serialize的问题。
- 急急急...ORACLE数据库。为什么同一条语句用SQL Plus能够查询出来结果,用ADO却查询不出来呢?
- 哪位兄弟可以提供一个BoundsChecker for vc的下载地址。
- 怎样添加菜单?
- 如何从一批题目中随机抽取十个互不相同的题目?
- 帮测试函数代码,BUG反馈请留言.
- 请问:如何使对话框程序在启动时自动将位置设置为某一个角落?
- 怎么把proxy_stub对接口的函数调用变成多线程的呢?而不是顺序调用!有人知道吗?
- 视频会议软件现在卖多少钱呀
CString szIniFile;GetCurrentDirectory(MAX_PATH,szCurPath.GetBuffer(MAX_PATH));
szCurPath.ReleaseBuffer() ;//加上这句.
szIniFile= szCurPath + CString("\\file.ini");
char szPath[MAX_PATH];
GetCurrentDirectory(MAX_PATH,szPath);
szIniFile= szPath + CString("\\file.ini");
MessageBox(szIniFile);
GetCurrentDirectory(MAX_PATH,szCurPath.GetBuffer(MAX_PATH));
你这样写是错的,因为这时szCurPath还没有分配空间,是不能调用GetBuffer()来得到字符串指针的。
szCurPath.ReleaseBuffer();CString在使用GetBuffer后,如果()里的值大于本身的长度,就会重新分配一个空间。
这样,就必需释放原来指定的空间区域~详细资料可以查看CString::ReleaseBuffer()的MSDN说明。