【发布时间】:2013-10-16 03:05:18
【问题描述】:
大家好,我正在尝试编写一个函数,该函数返回数据行并将其以字符串形式返回。下面是我的代码,我不确定它为什么不起作用。我已经添加了一个 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;
}
【问题讨论】:
-
可能是
lineCount!=lineNum? -
您刚刚为ask the same question again创建了第二个帐户吗?
-
不,这是我的第一个帐户