我正在进行C编程分配,其中程序必须从两个文件中读取数据,这些文件通过命令行传递给程序,并将数据解析为单独的字段以在链表中使用,可能使用strtok ()。已经提供了函数原型,即
int loadData(char* menuFile, char* submenuFile);
到目前为止,我已打开文件并使用
将文件数据传递给函数menufile = fopen(argv[1], "r");
submenufile = fopen(argv[2], "r");
loadData(argv[1], argv[2]);
我尝试使用fgets()和strtok()来使用" |"来解析数据。分隔符。
我的问题是,我现在假设在loadData()函数中我有一个指向char数组的指针,并且我已经尝试使用以下代码将其传递给fgets()
while(fgets(line, sizeof(line), menuFile)){
value = strtok(line, "|");
result[i][0] = strdup(value);
printf("Category ID: %s\n", value); etc
但我得到以下内容:
warning: passing argument 3 of ‘fgets’ from incompatible pointer type [enabled by default]
和分段错误。
如何使用fgets()以有意义的方式处理这些数据?