我正在尝试使用 c 将 windows 目录的内容写入文件。例如,如果我有一个 jpegs 目录(即一个包含多个 jpegs 的目录)并且想将它们转换为 .raw 文件,我有这样的东西:
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
typedef uint8_t BYTE;
#define BLOCK 512*sizeof(BYTE);
int main(void)
{
FILE * fd = fopen("C:\\jpegs", "r");
if (fd == NULL) {
fprintf(stderr, "Error opening device file.\n");
return EXIT_FAILURE;
}
int block = BLOCK;
FILE * fn = fopen("new.raw", "w+");
void * buff = malloc(block);
while(feof(fd) == 0) {
fread(buff,block,1,fd);
fwrite(buff,block,1,fn);
}
free(buff);
fclose(fd);
fclose(fn);
return 0;
}
问题是我认为 Windows 目录不会以 EOF 终止。有没有人对如何解决这个问题有任何想法?