所以基本上我学习C,他们教我们使用gets()函数,我发现它被删除,不能再使用。所以我试图学习使用替代方法,gets_s()函数,但我似乎无法。例如试图编译:在下面的代码给了我“未定义参考gets_s”未定义的引用gets_s
char line[21];
gets_s(line, 20);
printf("The line entered was: %s\n", line);
很多人说用fgets()代替gets()函数,但我不知道怎么说将工作,因为我想读取用户的输入,而不是从文件中读取。
您需要包含一个标题,而不是定义'gets_s'。 – 2014-08-31 15:55:55
'gets_s'仅在MSVC中可用。使用'fgets'。 – 2014-08-31 16:02:21
更好的是,如果你的系统有它(比如最近的Posix规范),可以使用'getline'。它动态地为线路分配缓冲区,因此可以接受非常大的线路(如果系统资源允许的话)。 – 2014-08-31 16:04:22