首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言文件数据写入时总是多了其他的异外数据,该如何解决

2012-03-01 
C语言文件数据写入时总是多了其他的异外数据#includestdio.h#includestdlib.hvoidmain(){inti,ncharf

C语言文件数据写入时总是多了其他的异外数据
#include   <stdio.h>
#include   <stdlib.h>

void   main()
{
    int   i,n;
    char   flag;
    FILE   *f;
    char   stuname[10],stuclass[10],stuadd[16];
    f=fopen( "E:\\my.txt ", "w ");
    if(f==NULL)
    {
          printf( "file   not   open ");
          exit(1);
      }
    printf( "input   record   number\n ");
    scanf( "%d ",&n);
    for(i=0;i <n;i++)
    {
            printf( "input   data\n ");
            scanf( "%s,%s,%s ",stuname,stuclass,stuadd);
            fprintf(f, "%-10s%-10s%-16s\n ",stuname,stuclass,stuadd);
      }
      fclose(f);
}
例如我输入数据:aaa,aaa,aaa
结果文件里面数据为:aaa,aaa,aaaa
后面多了一个a

[解决办法]
scanf( "%d ",&n);在这个后面加一个 getchar()或者fflush(0);

热点排行