• 2022-06-09
    for(n=0;!feof(fp)&&fread(&tongxun[n],sizeof(structtongxunlu),1,fp);n++);是什么意思?
  • 这个意思是这样,初始条件,n=0;每循环一次,n加1.循环的过程中检查fp指向的文件:1.有没有到文件尾2.每次读1个tongxun结构的字节数据是否成功.其功能是实现,读取文件里面的tongxun结构的数据,每次读一个结构体,遇文件尾结束.

    举一反三

    内容

    • 0

      下列程序的输出结果是( ) int main(void) { FILE *fp; int i,k,n; fp=fopen("data.dat","w+"); for(i=1;i<6;i++) { fprintf(fp,"%d",i); if(i%3==0) fprintf(fp,"\n"); } rewind(fp); fscanf(fp,"%d%d",&k,&n); printf("%d%d\n",k,n); fclose(fp); return 0;}

    • 1

      有以下程序:#include &#91;stdio.h&#93; main() { FILE *fp; int a&#91;10&#93;={1,2,3}, i, n; fp = fopen("d1.dat", "w"); for (i=0; i<3; i++) fprintf(fp, "%d", a[i]); fprintf(fp, "\n"); fclose(fp); fp = fopen("d1.dat", "r"); fscanf(fp, "%d", &n); fclose(fp); printf("%d\n", n); }程序的运行结果是()。[/i]

    • 2

      设有定义:char c&#91;&#93;="Cc"; FILE *fp;且fp指向以"写文本文件"的方式成功打开的文件,若要将c中的两个字符写入文件,且每个字符占一行,则下面的选项中正确的是______。 A: fprintf(fp,"%c\n%c\n",c[0],c[1]); B: fprintf(fp,"%c\N\n%c\N\n",c[0], c[1]); C: fprintf (fp, "%c %c"%,c[0],c[1]); D: fprintf(fp,"%s\n",c);

    • 3

      已知有定义,FILE *fp; char str&#91;&#93; = "Hello!"; fp = fopen("file.dat", "wb");将数组str中存放的字符串写到名为file.dat的二进制文件中。需要的语句是( )。 A: fwrite(str[0], sizeof(char), 1, fp); B: fread(str, sizeof(char), 6, fp); C: fwrite(fp, sizeof(char), 6, str); D: fwrite(str, sizeof(char), 6, fp);

    • 4

      有以下程序:#include stdio.hmain(){ FILE *fp; int a&#91;10&#93;={1,2,3}, i, n;fp = fopen(d1.dat, w);for (i=0; i3; i++) fprintf(fp, %d, a[i]);fprintf(fp, \n);fclose(fp);fp = fopen(d1.dat, r);fscanf(fp, %d, n);fclose(fp);printf(%d\n, n);}程序的运行结果是()。[/i] A: 321 B: 12300 C: 1 D: 123