从文本文件中取出表并将其存储在c中的数组中

时间:2013-09-20 00:35:07

标签: c stdin argv

我必须创建一个从文本文件中读取值的c文件,并将它们传递给一个数组。 新来的c。

file.txt从

中读取
 1989 500 222000
 1997 1500 180000
 1976 4000 20000
 1967 20000 10000

程序应该从stdin读取表数据。如下(来自shell): %。/ stock file.txt

我的代码到目前为止

int main( int argc, char *argv[] ) {
     FILE *inputFile;
     inputFile = fopen( argv[2], "r" );
     int number;

    while(fscanf(inputFile, "%i", number)==1)
    {
            printf("%i", number);
    }

return 0;

   }

1 个答案:

答案 0 :(得分:0)

试试这个。请注意& on number和inputFile for null的检查。命令行应为“./tsort file.txt”

int main( int argc, char *argv[] ) {
     FILE *inputFile;
     int number;

     if(argc != 2) {
         printf("Usage: %s filename\n", argv[0]);
         return 1;
     }
     inputFile = fopen(argv[1], "r" );

    if(inputFile == 0) {
        printf("Can't open '%s'\n", argv[1]);
        return 1;
    }

    while(fscanf(inputFile, "%i", &number)==1)
    {
            printf("%i\n", number);
    }

    return 0;

   }