创建指向文件的指针数组

标签 c file io argv

我将如何在 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/

相关文章:

c - 如何在 struct 内部和 main 外部分配内存?

c - 如何避免物理磁盘 I/O

c - 在C中获取所有带前缀的函数

c# - 文件已存在时的 File.Copy() 性能

javascript - 如何使用javascript删除文件?

c - 基于 block 的写入如何减少开销?

检查标准输入中的字母是否为大写

c - 使用 C 在 Linux 中轮询新文件的目录 - 一旦它出现,我是否需要等到它可以使用?

java - 使用文件 IO (Java) 从方法接收输入

python - 如何在 Python 中使用 openmesh 保存自定义顶点属性?