请问?怎么从文件中读入下面数据
请教?如何从文件中读入下面数据?
文件中有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的返回值。
------解决方案--------------------
文件中有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]);
------解决方案--------------------