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

要读取的file.txt

 1989 500 222000
 1997 1500 180000
 1976 4000 20000
 1967 20000 10000


程序应从stdin读取表数据。如下(从shell):
%./tsort 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;

   }

最佳答案

尝试这个。注意&上的数字和对inputFile的检查是否为空。命令行应为“ ./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;

   }

关于c - 从文本文件中获取表并将其存储到c中的数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18907156/

10-12 15:21