.ppm 파일을 읽고 데이터를 구조체에 유지하는 프로그램을 작성하려고합니다. 그래도이 작업을 수행하려면 파일을 열 수 있어야합니다.이 파일은 지금까지 작동하지 않습니다. 나는 분명히 뭔가 잘못하고있다. 코드를 살펴보고 문제가 무엇인지 확인할 수 있습니까?기본 파일 I/O (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;
}
이렇게하면 stdout에 "\ n"이 표시됩니다. int가 아닌 배열로 fscanf해야합니까? 여러분의 의견을 바탕으로
나는 두 개의 문자로 스캔하기 위해 코드를 편집 :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;
}
'* scanf '의 반환 값을 테스트하십시오 : 값이 할당 된 변수의 수이어야합니다. – pmg