我刚开始使用 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/