我将如何在 C 中创建一个文件指针数组?
我想创建一个文件指针数组,指向 main 的参数...比如 a1.txt、a2.txt 等...所以我会运行 ./prog arg1.txt arg2.txt arg3.txt
让程序使用这些文件。
然后 main 的参数是 char **argv
我想从 argv 创建文件/文件指针数组。这是我目前所拥有的。
FILE *inputFiles[argc - 1];
int i;
for (i = 1; i < argc; i++)
inputFiles[i] = fopen(argv[i], "r");
最佳答案
代码没问题,但记得用C99编译。
如果不使用 C99,则需要在堆上创建数组,如:
FILE** inputFiles = malloc(sizeof(FILE*) * (argc-1));
// operations...
free(inputFiles);
关于创建指向文件的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2242901/