社区
C++ 语言
帖子详情
如何使用fread函数循环读取二进制文件
wazguo
2006-10-12 06:00:08
如何使用fread函数循环读取二进制文件
...全文
1433
5
打赏
收藏
如何使用fread函数循环读取二进制文件
如何使用fread函数循环读取二进制文件
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IMGGTOO
2006-10-13
打赏
举报
回复
我的函数代码是这样的:(采用UNICODE字符集)
BOOL CStr::ReadStrFromFile(LPCTSTR pszFileName, CString &strData)
{
strData.Empty();
if (pszFileName == NULL)
return FALSE;
// 打开文件
FILE* pf = _tfopen(pszFileName, _T("r"));
if (pf == NULL)
return FALSE;
// 文件长度
fseek(pf, 0, SEEK_END);
size_t nDataLen = ftell(pf) / sizeof(TCHAR);
fseek(pf, 0, SEEK_SET);
// 读取数据
LPTSTR pszData = strData.GetBuffer((int)nDataLen + 1);
size_t nRead = fread(pszData, sizeof(TCHAR), nDataLen, pf);
strData.ReleaseBuffer((int)nRead);
fclose(pf);
return TRUE;
}
用他来读取一个TXT文件中的数据时,就会出现问题.调试时可以发现,读取的文件长度nDataLen 是正确的,但是实际读取到的字符书nRead却只是":"之前的 字符数,":"之后的数据读不出来!
但是将冒号改用 英文输入法,就可以了,哪位大哥可以帮着看下!
taodm
2006-10-13
打赏
举报
回复
文件中用汉语输入法输入的冒号不可能会作为文件结束符的。
是你的代码的其它错误导致的。
IMGGTOO
2006-10-12
打赏
举报
回复
借此宝地,小弟提出一个小问题,各位高手可以给点意见:
就是用fread函数读文件时,文件中用汉语输入法输入的冒号(比如说,用智能ABC输入的":",好象被当成了文件结束符或者是其他什么有特殊意义的符号,导致这个冒号和他后面的所有字符都不能被读入.
但是,奇怪的是,用feek函数定位到文件末尾求文件长度的时候,好象可以定位到正常结尾,而不出现把冒号当成结尾的情况!
helanshan
2006-10-12
打赏
举报
回复
FILE*fp;
fp.open("....","rb");
while(!fp.eof())
{
fread(..................);
....
}
Arthur_
2006-10-12
打赏
举报
回复
http://community.csdn.net/Expert/topic/5060/5060715.xml?temp=.3962213
C语言fseek、
fread
、fwrite读写
二进制
文件
C语言读写
二进制
文件
的
使用
一个“matlab直接
读取
二进制
数据
文件
”程序
matlab可以直接
读取
二进制
数据
文件
,并且可以将其加入到矩阵中
以
二进制
方式打开
文件
并显示
利用C库
函数
,轻松实现以
二进制
方式打开
文件
并显示
matlab中
二进制
数据的
读取
本文非常详细的介绍了在matlab中如何导入和导出其他格式的数据。所讲的知识点要比书上所说更全面,更深刻,更容易理解原理。同时,还有大量的进行相互比较的例子
Matlab中
二进制
数据的
读取
2.pdf
。。。
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章