大家好,我正在尝试编写一个返回数据行并以字符串形式返回的函数。下面是我的代码,我不确定它为什么不起作用。我添加了一个 printf 函数,当我调用该函数时,什么都没有打印出来。?
编辑(因为我还不能回答) - 感谢您的回复。当我将 char c 更改为 char *c 时,它仍然不起作用。我只需要将行读入字符串并返回即可。
char* getLine(FILE *file, int lineNum){
char c;
int lineCount=0, size = 1;
char *line = NULL;
line = malloc(sizeof(char)*size);
while ((c=getc(file)) != EOF){
if (c=='\n'){
++lineCount;
continue;
}
if (lineCount==lineNum){
size += 1;
line = realloc(line, size*sizeof(char));
strcat(line, c);
printf("Line: %s\n", line);
}
}
return line;
}