【发布时间】:2022-01-05 21:06:15
【问题描述】:
我正在尝试从用户那里获取一些数据并将其发送到 gcc 中的另一个函数。代码是这样的。
printf("Enter your Name: ");
if (!(fgets(Name, sizeof Name, stdin) != NULL)) {
fprintf(stderr, "Error reading Name.\n");
exit(1);
}
但是,我发现它最后有一个换行符\n。所以如果我输入John,它最终会发送John\n。如何删除 \n 并发送正确的字符串。
【问题讨论】:
-
if (!fgets(Name, sizeof Name, stdin))(至少不要使用两个否定,! 和 !=) -
@Roger Pate “不要使用两个否定” --> 嗯,如果我们深入挖掘,“不要”和“否定”都是 否定。 ;-)。也许“使用
if (fgets(Name, sizeof Name, stdin)) {。 -
@chux,我确定你的意思是
if (fgets(Name, sizeof Name, stdin) == NULL ) { -
@RSahu True: 讨厌
!:
标签: c string gcc newline fgets