ファイルを読み込んで1行に空白で区切ってある数字があります。
1行に数字が何個あるかは決まってなく、ファイルの終わりまでの
すべての数字を読み込んで総和を出すプログラムなんですが・・・。
もっと簡単になりませんかね?
#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE *fp;
char a[256], b[10];
int i,k,sum=0;
fp=fopen("data.txt","r");
while(fgets(a,255,fp)!=NULL){
i=0;
while( a[i]!='\n'){
k=0;
for( ; a[i]!=' '&& a[i]!='\n'&& a[i]!='\0'; i++){
b[k]=a[i]; k++;
}
b[k]='\0';
sum += atoi(b);
for( ;a[i]==' ';i++);
}
}
printf("総和は%d",sum);
fclose(fp);
return 0;
}