我有两个参数的C程序,第一个是filename.txt,第二个是一些参数。并且,最终产生一些分数。现在,我在文件夹命名1.txt .... 10,000.txt中有10,000个文件,我想使用该C程序计算所有10,000个文件的分数,并希望将所有分数放在文件result.txt中。
如何自动化这件事。
答案 0 :(得分:1)
你可以做两件事
更改程序,使其循环遍历所有文件。您可以使用sprintf迭代文件名。
char filename[50];
for (int i = 1; i < 10000; ++i) {
sprintf(filename, "%d.txt", i);
FILE* file = fopen(filename);
// .. do stuff
fclose(file);
}
答案 1 :(得分:0)
树道。
第一个是给你所有文件的参数:
./ myProgram 1.txt -args 2.txt -args ...
第二个是给你所有的文件名,然后是你的参数 ./myProgram * .txt -args
第三个是通过使用循环编写程序来查找所有文件
答案 2 :(得分:0)
C程序:
#include <stdio.h>
int main (int argc, char *argv[])
{
/* open file argv[1] with options in argv[2] */
/* ... */
return 0;
}
使用
运行它./program directory/*.txt
答案 3 :(得分:0)
你可以这样做:
作为参数传递存储文件的目录名称。给予 当你有这么多时,所有文件名都不可能作为参数 那些。我不确定当前版本的C标准说的是什么 ANSI C至少提到编译器应该能够采用 至少关注31个函数的参数,因此有10,000个是相当的 很多。
然后使用例如readdir()
函数迭代给定目录中的所有文件并执行您需要执行的工作。