将格式化文本文件读入数组的语法,C

时间:2014-10-04 16:29:25

标签: c arrays

我有这个文本文件numbers.txt 它包含以下数字,格式为:1 0 0 1 0 1 0.因此它只包含1和0,并且空格除以它们。 我想把这些数字读进" a"阵列。

如果有人可以帮助我并解释代码,这将是惊人的,我研究了互联网,但我不理解输入/输出中的许多术语。 这是我尝试工作的代码,但它没有。墓是一个声明为int的数组,最多有200个元素,我初始化为0.仍然没有工作。

FILE *fp;
fp=fopen("fajl.txt","r");
int c;
if (fp!=NULL) {
    while (feof(fp)!=0) {
        fscanf(fp,"%d ",&tomb[i]);
        ++i;
    }
    fclose(fp);
} else {
    printf("Nem tudtam megnyitani a fajlt\n");
}

2 个答案:

答案 0 :(得分:0)

尝试这个,这将从输入读取1或0并放入数组(假定最大100),我将包含1或0的数字。

int b[100], c;
int i = 0;
while ((i < 100) && (c = getchar()) != EOF) {
    if ((c == '1') || (c == '0'))
      b[i++] = c - '0';
}

答案 1 :(得分:0)

#include<stdio.h>
int main()
{
    FILE *fp;
    int a[100],i=0;
    fp=fopen("numbers.txt","r");
    while(i<100 && fscanf(fp,"%d",&a[i])!=EOF)
    {
        i++;
    }
    fclose(fp);
    return 0;
}