概述
CFile f;
CString text;
filename="C:/sell.txt";
f.Open(filename,CFile::modeReadWrite);
f.Read(text.GetBuffer(),f.GetLength());
f.Close();
如果要读取整个文件,注意在text.GetBuffer(),GetBuffer里不要自己设置长度参数f.GetLength());否则会读入多余的字符。
-----------------------------------------------------------
今天遇到的问题,以上代码存在问题。
GetBuffer(),
据说get了就要release两个函数是对应的。也有人说如果是局部变量那释放不释放无所谓。
但是实际情况是如果不释放会遇到问题,如果sell.txt文件较小还好我开始存的大概是8个汉字,然后存大概10几个汉字的时候问题出现了,在函数外面调用此函数后申请其他CString并复制,结果提示内存不足。。。
于是我在getbuffer后releasebuffer()参数默认为-1,结果程序调试中断了,然后我改成参数为0,结果是数据也没了,当然错误是消失了。。。。
也许是我没设置长度的后遗症。。。没空理会了直接改用CStdioFile,ReadString。不过这个函数是读取一行,即遇到回车结束。
最后
以上就是可爱小兔子为你收集整理的关于CFile读取文件的问题GetLength(),,,万恶的CFile不如|CStdioFile的全部内容,希望文章能够帮你解决关于CFile读取文件的问题GetLength(),,,万恶的CFile不如|CStdioFile所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复