C プログラミングに関する本を読んでいますが、示されている例がわかりません。より正確には、なぜ機能するのか理解できません。
コードは単純で、テキスト ファイルの内容を読み取り、出力領域に出力します。私が理解している限りでは、
ch = fgetc(stream);
一度に1つのintしか読み取らないため、whileループ内にある必要がありますか? 現在の int が出力された後、次の int を読み取る必要があります。さて、このコードは実際にうまく機能することが判明したので、誰かが私の誤謬を説明してくれることを願っています. ありがとう!
#include <stdio.h>
int main(int argc, char *argv[]) {
FILE *stream;
char filename[67];
int ch;
printf("Please enter the filename?\n");
gets(filename);
if((stream = fopen(filename, "r")) == NULL) {
printf("Error opening the file\n");
exit(1);
}
ch = fgetc(stream);
while (!feof(stream)) {
putchar(ch);
ch = fgetc(stream);
}
fclose(stream);
}