为什么文件仅包含第一次迭代的打印

-3 c file-io printf loops

我在C中编写了这个代码,一个接一个地在一个txt文件中打印1到10的nos但是在执行之后只有第一个no打印在txt文件中.请帮助

 #include<stdio.h>
 #include<stdlib.h>
 int main()
 {
     int i;
     FILE *fptr;

     fptr=fopen("C:\\program.txt","w");

     for(i=1;i<=10;i++)
     {
         fprintf(fptr,"\n%d\n",i);
         fclose(fptr);
     }
 }
Run Code Online (Sandbox Code Playgroud)

Mik*_*CAT 6

在完成写入文件之前,请勿关闭文件.

#include<stdio.h>
#include<stdlib.h>
int main()
{

    int i;

    FILE *fptr;
    fptr=fopen("C:\\program.txt","w");


    for(i=1;i<=10;i++)
    {


        fprintf(fptr,"\n%d\n",i);
    }
    fclose(fptr);

}
Run Code Online (Sandbox Code Playgroud)