【问题标题】:How to run multiple input files one after another in C-program如何在C程序中一个接一个地运行多个输入文件
【发布时间】:2013-12-18 10:24:07
【问题描述】:

我有一个 C 程序,需要为 10 个不同的输入文件运行。与其运行程序 10 次不同的时间,是否可以只运行 1 次允许一个接一个地运行每个文件。

谢谢。 问候, 卡马尔

【问题讨论】:

  • 把文件处理逻辑放到一个单独的函数中,为每个文件调用那个函数?

标签: c file input


【解决方案1】:

当然,这就是 main 参数的用途:

void process_file(char const * filename);

int main(int argc, char * argv[])
{
    for (int i = 1; i < argc; ++i)
    {
        process_file(argv[i]);
    }
}

用法:

./a.out file1 file2 file3

【讨论】:

    【解决方案2】:
    int main(int argc, char * argv[])
    

    argc 是参数计数,所以当你向程序传递参数时,这个变量会告诉你的主程序已经传递了多少参数。

    argv[0] -> 你的程序名

    argv[1]..argv[n] -> 传递的参数的名称。

    所以在你的主要:

    for (int i = 1; i < argc; i++)
    {
       fopen(argv[i],....);
    }
    

    您可以在命令行的项目属性(如果您使用的是 MSVS)中传递参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      相关资源
      最近更新 更多