【发布时间】:2018-12-21 00:00:31
【问题描述】:
我正在尝试编写一个非常简单的程序,它要求您输入您的姓名,然后它会向您打招呼。代码如下:
#include <stdio.h>
int main() {
char name[30];
printf("Write your name: ");
fgets(name, 30, stdin);
printf("Hello, %s. Nice to meet you.\n", name);
return 0;
}
但是当我编译并运行程序时,会显示以下输出(输入名称John Doe):
Hello, John Doe
. Nice to meet you.
起初我打算使用gets(),它显然不会打印换行符,但编译器 (GCC) 抱怨它:
`gets' 功能很危险,不应使用。
如何从使用fgets() 输入的字符串中删除换行符?
【问题讨论】:
-
一个简单的方法是
strtok(name, "\n");
标签: c gcc printf newline fgets