我是靠谱客的博主 可爱小兔子,最近开发中收集的这篇文章主要介绍关于CFile读取文件的问题GetLength(),,,万恶的CFile不如|CStdioFile,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部