CString类---这个变态!
我在程序中定义了一个变量
CString Dir
然后调用GetCurrentDirectory(MAX_PATH,(char *)(LPCTSTR)Dir);
调用完毕之后,我检查 Dir的长度
Dir.GetLength()
结果字符串的长度为0;
而且经过如下操作
Web="web\\index.htm";
Path=Dir+Web;
Path的值只是"web\\index.htm"
为什么?
问题点数:50、回复次数:5Top
1 楼edyang(化石)回复于 2000-12-09 00:48:00 得分 10
GetCurrentDirectory 并不帮你分配内存,你要用:
LPTSTR lpBuf;
lpBuf = Dir.GetBufferSetLength(_MAX_PATH);
GetCurrentDirectory(lpBuf);Top
2 楼zhoutler(一代程序巨浆--用浆糊粘贴别人代码巨厉害)回复于 2000-12-09 02:16:00 得分 10
CString has a initial member function!!!
Use it(Be sure <64K Byte)!!!Top
3 楼sxbyl(sxbyl)回复于 2000-12-09 08:06:00 得分 10
CString 可以存放2G的字符!Top
4 楼vcmfc(【痛苦的虫虫】)回复于 2000-12-09 08:16:00 得分 10
使用CString::GetBufferSelLength()之后,当你要在使用该类的函数,必须先用CString::ReleaseBuffer(),否则,嘿嘿~~~~Top
5 楼susdj(four)回复于 2000-12-09 19:53:00 得分 10
你应该先分配一段内存,如:LPSTR Dir=new char(50);或char Dir[50];Top




