fgets 如何从文件中逐行读取?
How fgets reads line after line from a file?
假设我有:
#define CHUNK_SIZE 256
void copy(FILE *input, FILE *output) {
char buffer[CHUNK_SIZE];
while (fgets(buffer, CHUNK_SIZE, input) != NULL) {
fputs(buffer, output);
}
}
但是在 while 循环中,fgets
获取相同的参数 - 那么它如何知道在 while
的每次迭代中从文件中读取下一行?它不会因为总是读取同一行而陷入无限循环吗?
假设我有:
#define CHUNK_SIZE 256
void copy(FILE *input, FILE *output) {
char buffer[CHUNK_SIZE];
while (fgets(buffer, CHUNK_SIZE, input) != NULL) {
fputs(buffer, output);
}
}
但是在 while 循环中,fgets
获取相同的参数 - 那么它如何知道在 while
的每次迭代中从文件中读取下一行?它不会因为总是读取同一行而陷入无限循环吗?