将文件转换为 C 中的二进制缓冲区?

标签 c file buffer

我刚开始使用 C/C++。我能够从二进制文件写一个文件:

FILE *myFile= fopen("/mnt/music.mp3", "ab+"); // Doesn't exist

fwrite(binaryBuffer, sizeOfBuffer, 1, myFile); 

我只想从“myFile”中获取一个新的“binaryBuffer”

我该怎么做?

谢谢!

最佳答案

使用fread 函数,它的工作方式与fwrite 相同:

char buffer[BUFFER_SIZE]; // declare a buffer
fread(buffer, length, 1, file); //read length amount of bytes into buffer

如果您不知道要读取多少字节,您可以查找文件末尾以找到长度。

(如果您从刚刚写入的同一个文件中读取,您将想要倒带) http://www.cplusplus.com/reference/cstdio/fread/

关于将文件转换为 C 中的二进制缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33313325/

相关文章:

用递归函数计算数组的平均值

node.js - 在node.js中,为什么我在尝试写入不存在的文件时没有收到错误

java - 输入流仅返回 1 个字节

c - 即时将缓冲区写入标准输出

c - 分解shell脚本;引擎盖下会发生什么?

c - getopt 无法识别 c 中的多个命令行标志

c - 结构库存和数据文件

c++ - 读取文件时缓冲区大小会影响时间成本吗?

c - 在 C 中使用带指针的数组

java - 防止和检测打开文件的删除