社区
C++ 语言
帖子详情
如何使用fread函数循环读取二进制文件
wazguo
2006-10-12 06:00:08
如何使用fread函数循环读取二进制文件
...全文
1405
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
C语言实现
二进制
文件
读写详解
文章先介绍
函数
,我们一共要用到三个
函数
,fopen,
fread
,fwrite。
二进制
读写的顺序是用fopen以
二进制
方式打开读写
文件
,然后
使用
fread
和fwrite两个
函数
将数据写入
二进制
文件
中。
php
fread
函数
使用
方法总结
php
fread
函数
用于
读取
文件
(可安全用于
二进制
文件
),其语法是
fread
(file,length),参数file必需,指规定要
读取
打开
文件
,length 必需,指规定要
读取
的最大字节数。 php
fread
函数
怎么用? 定义和用法
fread
()
函数
读取
文件
(可安全用于
二进制
文件
)。 语法
fread
(file,length) 参数 file 必需。规定要
读取
打开
文件
。 length 必需。规定要
读取
的最大字节数。 说明
fread
() 从
文件
指针 file
读取
最多 length 个字节。该
函数
在
读取
完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可
MATLAB bin
文件
读取
数据
bin
文件
是
二进制
文件
,是
文件
格式binary的缩写。虚拟光驱
文件
常用bin作为后缀,但这并不意味着所有bin
文件
都是虚拟光驱
文件
。工程应用中,从flash
读取
的输出,经常保存成bin
文件
,有时里面的数据是十六进制。本文将介绍
读取
bin
文件
的方法在十六数的数据验证通过 首先用fopen
函数
打开bin
文件
(关于
函数
的说明,大家可以百度,或在matlab里help一下,这里不在详细介绍) 然后判断是否为
文件
末尾,自动
读取
整个
文件
。之后用
fread
函数
读取
size个数据,将以十进制显示,为此调用dec2hex
函数
将其转化成十六进形式。 ——————————————
fread
函数
读
二进制
文件
fread
函数
可以
读取
二进制
文件
的数据,并将数据存入矩阵。 关于matlab操作
文件
的几个
函数
有文介绍:matlab
文件
操作fopen,fseek,
fread
,fclose等 针对 ” 2)读
二进制
文件
” 这部分内容,我写些和上面文章里不一样的。
fread
函数
文件
素材: 如下代码: [fid,Msg] = fopen('cube.ply','rt') BufSize = 8192; Buf = [blanks(10),char(
fread
(fid,BufSize,'uchar')')]; 得到结果
Linux下
使用
fread
和fwrite读写
二进制
文件
在写入或
读取
二进制
文件
时,建议
使用
"wb+"或"rb+"模式,以使
文件
既可读又可写。在这个更新的示例程序中,我们采用了打开模式、关闭和重新打开
文件
指针以及指针位置等多种解决方案,以确保在读写
二进制
文件
时不会出现问题。在写入数据后,立即关闭
文件
指针,并在需要时重新打开它。
函数
读取
文件
中的数据之前,请确保
文件
指针已重置到
文件
开头。在打开
文件
时
使用
"wb+"或"rb+"模式,以使
文件
既可读又可写。在此示例程序中,我们首先
使用
"wb+"模式打开
文件
,并
使用
。在C语言中,当尝试以"wb"模式打开
文件
并
使用
。
C++ 语言
64,639
社区成员
250,578
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章