社区
C++ 语言
帖子详情
请问如何用fread读取.mp3等非文本文件
tiancaiak
2009-03-13 05:40:40
今天在用fread读文件,发现读.mp3文件时,文件明明是10几mb但用fread(buf)时,buf的值只有一点点,查到说是.mp3文件中有\0结束符,所以会读到\0时会提前结束
请问有没有好一点的读.mp3等文件的解决方案
...全文
814
8
打赏
收藏
请问如何用fread读取.mp3等非文本文件
今天在用fread读文件,发现读.mp3文件时,文件明明是10几mb但用fread(buf)时,buf的值只有一点点,查到说是.mp3文件中有\0结束符,所以会读到\0时会提前结束 请问有没有好一点的读.mp3等文件的解决方案
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tiancaiak
2009-03-13
打赏
举报
回复
感谢大家,我不能把buf看成字符串,把buf看成一块内存就行了
arong1234
2009-03-13
打赏
举报
回复
没有所谓的EOF字节,也不会出现在buf中
[Quote=引用 5 楼 chin_chen 的回复:]
判断时试一下EOF
while(string!=EOF)
{
.....
}
[/Quote]
arong1234
2009-03-13
打赏
举报
回复
为什么EOF? fread返回值不是告诉你读了多少字节了?
[Quote=引用 5 楼 chin_chen 的回复:]
判断时试一下EOF
while(string!=EOF)
{
.....
}
[/Quote]
chin_chen
2009-03-13
打赏
举报
回复
判断时试一下EOF
while(string!=EOF)
{
.....
}
猫已经找不回了
2009-03-13
打赏
举报
回复
保证读正确你最好用2进制的方式来读取吧。
chin_chen
2009-03-13
打赏
举报
回复
mp3的格式有很多种 暂时没有统一的规范 里面可以内嵌歌曲信息和歌词等 有的习惯放在头部 有的喜欢放到尾部 中间才是2进制 是可以读的 但是里面真正的音频是使用霍夫曼编码的总是很麻烦 搞过一阵 没有统一标准放弃了 有类库libmad如果没记错
chin_chen
2009-03-13
打赏
举报
回复
无意义的读,可以用二进制方式打开,一个byte一个byte读.
mp3 是 MPEG-1 的 音频(Audio) Layer 3 数字音频编码 有损压缩 格式。有意义的读写是解码和编码。
arong1234
2009-03-13
打赏
举报
回复
这问题不在于fread,fread也不会提前结束。问题在于:你不能把读到的内容当“字符串”用,如果你不是用字符串访问的函数去使用它,buf不会只有一点点的
也就是说:buf里到底有多少,你不能用strlen去检查,因为这是字符串函数,而mp3内部显然不是字符串
要得到buf内到底有多少内容,你应该依赖fread的返回值,而不是某个api去查,任何api都不可能告诉你buf里到底有多少内容,因为你buf内部不再有标记告诉你哪是buf的结束
vc6.0
读取
超大txt
文本文件
Vc下
读取
txt文件 普通大小的一般用
fread
就可以了,但是遇到大容量的
文本文件
会有
读取
错误的现象,那该怎么办呢?本程序是用MFC的CFile类解决的 经过测试没有问题
《Matlab编程实例视频教程系列33:Matlab 导入导出》文档讲义
freexyn编程实例视频教程系列33 Matlab 导入导出 1.主要内容 运用Matlab对外部文件数据进行导入导出; 数据类型包括数值型、文本型以及混合...33.17 实例
非
常规文本或大型文件 33.18 实例 同时处理多个文件 33.19 实
bigreadr:R包基于split + data.table
读取
大型
文本文件
读取
基于data.table::
fread
+ data.table::
fread
大型
文本文件
例子 # remotes::install_github("privefl/bigreadr") library(bigreadr) # Create a temporary file of ~141 MB (just as an example) csv <- ...
C语言程序设计题库 第十一章:数据文件的使用
C语言中可以使用标准库函数(如fopen、fprintf、fscanf等)来
读取
和写入
文本文件
。 二进制文件(Binary File):二进制文件是由字节组成的文件,内容不可直接查看,只能以二进制形式进行
读取
和写入。二进制文件可以...
c语言文件读写操作代码.zip
程序首先打开名为input.txt的
文本文件
进行
读取
,使用
fread
函数将内容
读取
到缓冲区,并利用printf输出到控制台。随后,程序关闭了
读取
的文件。接下来,程序打开output.txt文件用于写入,通过fwrite函数将一个预定义的...
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章