linux-读取/写入C中的二进制文件
有没有人有可以写入二进制文件的代码示例。 还有可以读取二进制文件并输出到屏幕的代码。 看例子,我可以写文件了,但是当我尝试从文件中读取文件时,它不能正确输出。
4个解决方案
86 votes
读写二进制文件与其他文件几乎相同,唯一的区别是打开方式:
unsigned char buffer[10];
FILE *ptr;
ptr = fopen("test.bin","rb"); // r for read, b for binary
fread(buffer,sizeof(buffer),1,ptr); // read 10 bytes to our buffer
您说可以读取它,但是它不能正确输出...请记住,“输出”此数据时,您不是在读取ASCII,所以这不像在屏幕上打印字符串:
for(int i = 0; i<10; i++)
printf("%u ", buffer[i]); // prints a series of bytes
写入文件几乎相同,除了您使用的是fwrite()而不是printf:
FILE *write_ptr;
write_ptr = fopen("test.bin","wb"); // w for write, b for binary
fwrite(buffer,sizeof(buffer),1,write_ptr); // write 10 bytes from our buffer
由于我们在谈论Linux ..,因此有一种简单的方