C语言从txt文件中读取多行用逗号分隔数据,保存在数组a[i]

数组 -4813, -12924,-7762, 4385,-2445,
12109,1125, 7685,3416, 194,

第1个回答  2015-07-22
别听最快回答 他的程序不会处理输入的个数

这道题说白了就是处理逗号
#include<stdio.h>
using namespace std;
int a[2013];
int x;
int i=1;
int main()
{
freopen("test.in","r",stdin);
while(scanf("%d",&x)==1)
{
char ch;
ch=getchar();
a[i]=x;
i++;
}
return 0;
}本回答被网友采纳
第2个回答  2015-07-22
用fgets()结合sscanf("%s,"&a[i] );来读取数据

或直接用fscanf("%s,"&a[i] );函数来读取数据即可!追问

有逗号,具体程序怎么写?

追答用以下代码去试试吧
#include <stdio.h>
int main()
{
FILE * fp=fopen("Text.txt","r");
int a;
while( fscanf(fp, "%d,", &a ) == 1 )
{
printf("%d\n", a );
}
fclose(fp);
return 0;
}

追问

怎样将数据保存到a[i]数组中呢?接下来会用第几个元素求值什么的

追答你若一点C知识都没有,就不要继续追问了,谢谢

#include <stdio.h>
int main()
{
    FILE * fp=fopen("Text.txt","r");
        int a[100];
        int i=0;
        while( fscanf(fp, "%d,", &a[i] ) == 1 )
        {
            printf("%d\n", a[i] );
            i++;
        }
        fclose(fp);
        //接下来,就可以使用数组a[i]来调用某个元素了。
    return 0;
}

追问

数组一百一千个元素都没问题,但20w个元素怎么办,老是没有输出,可能是溢出

追答

具体问题具体分析,如果一定要装到内存,则可以用动态分配数组实现,只要在机器内存允许范围内,都可以做到!

相似回答