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

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

2012-03-12 
请教?如何从文件中读入下面数据?文件中有10个以内的数(具体不确定)如:12 33 45 0 16 34怎么通过文件来读入

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

文件中有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 该怎么办呢?

热点排行