我有一个代码,我给出一个argv [1],最终将打开一个文件:
int main(int argc, char** argv) {
read(argv[1]);
}
事实是,.h
出现以下错误,“错误预期为'FILE * {aka结构_IO_FILE *}',但参数的类型为'char *'”]
这是.h:
#include <stdio.h>
struct node{
int id;
int *link_ids;
int links;
};
struct node *nodes;
void read(FILE * openedfile);
事实是argv [1]将成为FILE(txt)的名称。无效读取是将对文件进行所有操作的读取。有人可以帮助我解决我的错误吗?
[argv[1]
是一个char数组,您将其作为参数传递给需要FILE*
参数的函数。
您可以像这样贴皮:
int main(int argc, char** argv) {
read(fopen(argv[1], "r"));
}
[fopen()
将返回FILE
函数参数所期望的指向read
的指针。
如果只想传递要在函数内打开的文件名,则应为:
void read(char * openedfile);