我有一个代码,我给出一个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)的名称。无效读取是将对文件进行所有操作的读取。我也无法以任何方式修改main.c有人可以帮助我解决我的错误吗?
[argv[1]
是一个char数组,正在将其传递给需要FILE*
参数的函数。
如果只想将文件名作为函数的参数传递,则应为:
void read(char * openedfile);
如果所有操作都由read()
完成,除了文件指针分配,您应该这样做:
int main(int argc, char** argv) {
FILE *fp;
fp=fopen(argv[1], "r");
read(fp);
//..
}