Используя fscanf
, вы можете прочитать символ с помощью "%c"
.
char ch;
while (fscanf(file_stream, "%c", &ch) == 1) {
/* process ch */
}
Но вместо fscanf
вы можете использовать fgetc()
int ch;
while ((ch = fgetc(file_stream)) != EOF) {
/* process ch */
}
Но, предполагаяфайл ppm с кодировкой ASCII (P1, P2 или P3), fscanf
- действительно хороший вариант.
/* P3 format */
if (fscanf(file_stream, "%d%d%d", &red, &green, &blue) == 3) {
/* RGB triplet read; process it */
}
Не забудьте открыть свой файл в двоичном режиме, если вы хотите иметь дело сдвоичные PPM
fopen(filename, "rb");