读书人

C语言文件数据写入时总是多了其他的异

发布时间: 2012-03-01 10:25:46 作者: rapoo

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);

读书人网 >C语言

热点推荐