当fgets在for循环之外时,为什么会得到以下输出:


  吉姆,工程师
  
  吉姆,工程师
  
  吉姆,工程师
  
  吉姆,工程师


当fgets在for循环中时,输出如下:


  吉姆,工程师
  
  帕姆,护士
  
  疤痕,麻烦制造者
  
  约翰·史密斯


int main()
{
    int i;
    char line[255];
    FILE *fpointer = fopen("employees.txt", "r");

    for (i=0; i < 4; i++){
        fgets(line, 255, fpointer);
        printf("%s", line);
    }
    fclose(fpointer);

    return 0
}


在fget()中,“ i”未作为参数传递,因此它仍如何遍历.txt文件中的每一行?

最佳答案

fgets将使用fpointer读取文件(将其视为光标),并将其递增。因此,每次使用fgets时,您都会在文件中前进。

关于c - 与C中的for循环有关的fgets()问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56352382/

10-16 19:14