我有一个代码,其中给出了一个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 有人可以帮助我解决我的错误吗?
答案 0 :(得分:0)
argv[1]
是一个char数组,您正在将其传递给需要FILE*
参数的函数。
如果您只想将文件名作为函数的参数传递,则应为:
void read(char * openedfile);
答案 1 :(得分:0)
如果除文件指针分配外的所有工作均由 int main(int argc, char** argv) {
FILE *fp;
fp=fopen(argv[1], "r");
read(fp);
//..
}
完成,则应执行以下操作:
int index = 0;
String first = "", last= "", initial= "";
for ( int i = 0; i < name.length(); i++) {
if (name.charAt(i) == ',') {
last = name.substring(0,i);
index = i+1;
}
else if(name.charAt(i) ==' ') {
first = name.substring(index,i);
}
else if(name.charAt(i) == '.') {
initial = name.substring(i-1, i);
}
}
return (first + " " +initial+ " " + last);
}