读书人

请问?怎么从文件中读入下面数据

发布时间: 2012-03-12 12:45:32 作者: rapoo

请教?如何从文件中读入下面数据?

文件中有10个以内的数(具体不确定)
如:12 33 45 0 16 34
怎么通过文件来读入到程序中 代码怎么写?

一个是这种办法:
FILE *fp,*f;
int aa[10]={0},i,cha,j;
fp=fopen("kp1.txt","r");
f=fopen("kp2.txt","w");
for(i=0;i<10;i++)
{fscanf(fp,"%d",&aa[i]);}
printf("原数据:");
for(i=0;i<10;i++)
printf("%d ",aa[i]);
这种方法会把后面没有赋值的0也都输出为:12 33 45 0 16 34 0 0 0 0应该怎么修改才能去掉后面多余的未赋值的部分???

还有一种 我想先把12 33 45 62 16 34
以字符形式接收 然后再转化成数字 但在接收时用fscanf(fp,"%s",a);只能接收到第一个空格 请教:怎么修改???



[解决办法]
for(i=0;!feof(fp)&&i<10;i++)
{fscanf(fp,"%d",&aa[i]);}
[解决办法]
请检查fscanf的返回值。
[解决办法]

C/C++ code
    for(i=0;i<10;i++)    {        if((fscanf(fp,"%d",&aa[i])) == -1)            break;    }    printf("原数据:");      for(j=0;j<i;j++)        printf("%d ",aa[j]);
[解决办法]
探讨
谢谢二位,如果想用字符串去接收12 33 45 0 16 34 该怎么办呢?

读书人网 >C语言

热点推荐