用户输入一个句子(字符串)。 C语言中如何完成回车输入?
User inputs a sentence (string). How to finish the input with Enter in C?
我尝试了不同类型的字符串输入(scanf、getchar、gets),但其中none可以通过回车完成输入。你们有什么想法吗?
正如 Cheatah 所说,您要查找的函数是 fgets()
。始终尽量避免使用 gets()
,因为它不提供针对缓冲区溢出漏洞的保护措施,并可能在您的程序中导致大问题。您可以阅读此问题的一些答案以阐明每个功能的用途
Scanf() vs gets() vs fgets()
#include <stdio.h>
char str[20]; // String with 19 characters (because last character is null character)
int main() {
fgets(str, 20, stdin); // Read string
puts(str); // Print string
return 0;
}
我尝试了不同类型的字符串输入(scanf、getchar、gets),但其中none可以通过回车完成输入。你们有什么想法吗?
正如 Cheatah 所说,您要查找的函数是 fgets()
。始终尽量避免使用 gets()
,因为它不提供针对缓冲区溢出漏洞的保护措施,并可能在您的程序中导致大问题。您可以阅读此问题的一些答案以阐明每个功能的用途
Scanf() vs gets() vs fgets()
#include <stdio.h>
char str[20]; // String with 19 characters (because last character is null character)
int main() {
fgets(str, 20, stdin); // Read string
puts(str); // Print string
return 0;
}