[英]Reading chunks of data from file (C)
我的二进制文件包含以下格式的数据块:
0xAA...可变字节长度... 0XFF
有没有一种好方法可以将这些数据块直接读取到缓冲区中,而不是一次读取一个字节的文件?
您可以使用“fopen”打开文件“rb”代表读取二进制文件,
FILE* fileptr;
unsigned char* buffer;
fileptr = fopen("file_name", "rb"); // r for read, b for binary
fseek(fileptr, 0, SEEK_END); // fseek will take fileptr to end of file (SEEK_END)
filelen = ftell(fileptr); //here we get filelen
printf("file len =%d\n", filelen);
rewind(fileptr);
buffer = (unsigned char*)malloc(filelen * sizeof(unsigned char));
fread(buffer, filelen, 1, fileptr);
fclose(fileptr);
最后,您将在缓冲区指针中获得所有二进制文件内容。
不要忘记在使用后释放缓冲区。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.