关于CFile读取文件的问题GetLength(),,,万恶的CFile不如|CStdioFile
2010-07-05 18:53
411 查看
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。不过这个函数是读取一行,即遇到回车结束。
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。不过这个函数是读取一行,即遇到回车结束。
相关文章推荐
- 关于js读取本地excel文件的问题。。纠结好久了
- CFile类清空原有文件以及读取时末尾添加乱码的问题
- 关于 IOS 开发中遇到的 读取 cell xib 文件时导致死机的问题。
- 关于spring读取文件的问题
- 关于flex读取本地文件的问题
- 关于WinForms读取资源文件.resx时的变量声明问题
- 关于python3.x读取写入文件时编码报错问题
- 关于Spring boot中读取属性配置文件出现中文乱码的问题的解决
- 关于读取jar外面的properties文件的问题
- 今天解决了两个关于.NET读取EXCEL文件的问题,记下来,很有用!
- 关于读取CocoStudio的ui文件可能遇到的问题
- 关于json和csb文件读取的问题
- 两个关于.NET读取EXCEL文件的问题,记下来,很有用!
- 关于FileStream读取大文件问题
- [导入]转:两个关于.NET读取EXCEL文件的问题
- 关于读取txt文件的分段问题
- 今天解决了两个关于.NET读取EXCEL文件的问题,记下来,很有用!
- 关于文件读取的一点小问题
- 关于chrome浏览器下使用js读取本地json文件时提示“Origin null is not allowed by Access-Control-Allow-Origin”问题
- 关于 页面多语言支持的纯前端(JQuery插件)实现及 .json 文件读取报404的问题