社区
C++ 语言
帖子详情
如何使用fread函数循环读取二进制文件
wazguo
2006-10-12 06:00:08
如何使用fread函数循环读取二进制文件
...全文
1476
5
打赏
收藏
如何使用fread函数循环读取二进制文件
如何使用fread函数循环读取二进制文件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
数据块读
函数
fread
格式:
fread
(buffer,size,count,fp); 功能:从
二进制
文件
fp中
读取
count个数据块存入内存buffer中每个数据块的大小为size个字节。操作成功,
函数
的返回值为实际读入的数据块的数量;若
文件
结束或出错,返回值为0.
php
读取
文件
大小限制,PHP
fread
():
读取
文件
(任意长度)
PHP 中的
fread
()
函数
可以在打开的
文件
中
读取
指定长度的数据,也可以安全用于
二进制
文件
。在区分
二进制
文件
和文本
文件
的系统上(如 Windows)打开
文件
时,
fread
()
函数
的 mode 参数要加上b。该
函数
的语法格式如下:
fread
(resource $handle, int $length)其中 $handle 为通过 fopen()
函数
创建的
文件
资源;$length 为最多
读取
...
php中
fread
用法,php
fread
()
函数
的
使用
技巧
fread
() 从
文件
指针 handle
读取
最多 length 个字节。说明string
fread
( int handle, int length )
fread
() 从
文件
指针 handle
读取
最多 length 个字节。该
函数
在
读取
完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已
读取
了 8192 个字节时就会停止
读取
文件
...
【C语言课程设计】通讯录(3.0版本)
实现了通讯录的再次升级,可以
使用
文件
来保存信息
c/c++复制
文件
可以复制文本
文件
或大的
二进制
文件
。如果是文本
文件
,参数为。运行完后会生成一个对应
读取
文件
的复制
文件
。,如果为
二进制
文件
,参数为。
C++ 语言
65,212
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章