我必须读取一个二进制 (.bin) 文件。该文件具有 RGBA 数据的视频数据。每个组件由 4096 个字节组成,类型为unsigned char。因此,我打开文件并读取文件,如下代码片段所示:
FILE *fp=fopen(path,"rb");
//Allocating memory to copy RGBA colour components
unsigned char *r=(unsigned char*)malloc(sizeof(unsigned char)*4096);
unsigned char *g=(unsigned char*)malloc(sizeof(unsigned char)*4096);
unsigned char *b=(unsigned char*)malloc(sizeof(unsigned char)*4096);
unsigned char *b=(unsigned char*)malloc(sizeof(unsigned char)*4096);
//copying file contents
fread(r,sizeof(unsigned char),4096,fp);
fread(g,sizeof(unsigned char),4096,fp);
fread(b,sizeof(unsigned char),4096,fp);
fread(a,sizeof(unsigned char),4096,fp);
一旦将数据复制到 r,g,b,a 中,它们就会被发送到合适的功能进行显示。上面的代码适用于复制一组 RGBA 数据。但是我应该继续复制并继续发送数据以供显示。
我搜索并只能找到显示文件内容的示例,但它仅适用于文本文件,即 EOF 技术。
因此,我恳请用户为将上述代码片段插入循环(循环条件)提供合适的建议。