fgets()中的标识符错误

时间:2017-05-02 21:19:03

标签: c fgets

我正试图从stdin获取fgets()的输入,但是当我尝试这样的事情时:

char str[200];
char myfunction(){
char *fgets(char *str, 200, stdin); 
... }

我收到的错误如下:

[Error] expected identifier before numeric constant 
[Error] expected ',' or '...' before numeric constant 

我做错了吗?

2 个答案:

答案 0 :(得分:1)

你需要调用fgets需要看起来像这样:

fgets(str, 200, stdin);

请勿包含char *因为您未声明变量或功能;你只是使用它们。

答案 1 :(得分:-1)

代码中的问题是完整的fgets语句。你的代码应该是这样的:

#include <stdio.h>
extern FILE *stdin;
char str[200];
char myfunction(){
    fgets(str, 200, stdin);
... }

由于Tutorial Points上的示例,我认为你错了。如果您向下滚动了更多示例提供,它会显示您应该如何编写它。此外,假设您没有FILE *stdin,我还是包含了fgets。我不认为我必须解释每件事情的作用,因为您已经使用此ValueTuple函数发布了一个问题。