繁体   English   中英

从文件中读取数据块 (C)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM