我正在尝试编写一个程序来读取 .ppm 文件并将数据保存在结构中。不过,为了能够做到这一点,我需要能够打开该文件,该文件目前无法正常工作。我显然做错了什么。你能看看代码,看看你能不能找出问题所在?
#include <stdio.h>
#include <stdlib.h>
int readFile(char *filename);
int main(void)
{
readFile("myfile.ppm");
return 0;
}
int readFile(char *filename)
{
int x = 0;
FILE *pFile;
pFile = fopen(filename, "rb");
if(!pFile)
{
fprintf(stderr, "Unable to open file %s\n", filename);
exit(1);
}
fscanf(pFile, "%d", &x);
fclose(pFile);
printf("%d\n", x);
return 0;
}
这只是在标准输出上给了我一个“\n”。我应该将其 fscanf 放入数组而不是 int 吗?
根据您的反馈,我编辑了代码以扫描到两个字符:
int readFile(char *filename)
{
char first, second = 0;
FILE *pFile;
pFile = fopen(filename, "rb");
if(!pFile)
{
fprintf(stderr, "Unable to open file %s\n", filename);
exit(1);
}
fscanf(pFile, "%c%c", &first, &second);
fclose(pFile);
printf("First: %c, Second: %c\n", first, second);
return 0;
}