尝试在C中使用getLine()来读取stdin时出错

时间:2017-05-12 23:39:21

标签: c compiler-errors stdin getline

我正在使用C的这个函数来读取带有getLine()函数的用户输入(stdin)。此函数返回带有用户输入的char *。这是片段:

char * rline(void)
{

char *line;
size_t buff = 0; 
char * getLine(&line, &buff, stdin);
return line;

}

但是,运行时会显示此错误,但不会编译。

error: expected declaration specifiers or '...' before '&' token    

我环顾四周但却无法弄清楚为什么会发生这种情况,我的语法是正确的还是逻辑错误?

1 个答案:

答案 0 :(得分:0)

您正在调用该函数错误。在函数调用之前,char *无需执行任何操作,仅在函数声明中需要它。

正确的函数声明示例:

char * getLine(char *, int, int);

正确的函数调用示例:

getLine(&line, &buff, stdin);

顺便说一句,我认为通过将值设置为第二个参数,可以选择缓冲区的大小。