我目前坚持能够准备一个 jpeg 文件。看起来我很接近,但无论出于何种原因,该文件没有读取 jpeg 文件的不同签名。当然,我不确定我是否做错了什么或笨拙或什么。这是我目前拥有的代码:
int main (void)
{
typedef unsigned char BYTE ;
char image_name[8];
int counter=1;
FILE* fp = fopen("card.raw", "r");
FILE *outfile=NULL;
int size=512;
BYTE buffer[size];
while (feof(fp) == false)
{
fread(buffer,size,sizeof(unsigned char),fp);
if (fp== NULL)
{
printf("Could not open file \n");
return 1;
}
if(buffer[0]==255 && buffer[1]== && || buffer[2]==255 && (buffer [3]==224 && buffer[3]==225))
{
for(int i=0; i<51; ++i){
sprintf(image_name, "%.3d.jpg", counter);
outfile= fopen(image_name, "w");
fwrite(buffer,sizeof(buffer),1,outfile);
counter=counter+1;
if (outfile == NULL)
{
printf("could not create jpeg file\n");
return 2;
}
}
}
fclose(fp);
fclose(&outfile);
return 0;
}
现在,目前我只是完成这项任务的一部分。