gpt4 book ai didi

c - fgets 从提示符中读取换行符

转载 作者:行者123 更新时间:2023-11-30 14:43:48 28 4
gpt4 key购买 nike

我应该提到,这确实在不同的环境中工作:在我们的编程课中,我们通常使用 IDE 代码块(这很糟糕),所以我只在我的程序中使用 gcc 编译器和 vim终端(我在拱门上)。直到最近我才遇到问题,当时我必须读取包含空格的字符串。为此,我认为使用 fgets() 函数是一个好主意,但它产生了一些问题。代码如下所示:

void addStudent() {
struct Student student;
printf("Name of student: ");
fgets(student.name, 25, stdin);
}

但是,这不会提示我在 shell 中输入,它只是继续并立即读取换行符 \n 。你们知道如何解决这个问题吗?

最佳答案

正如评论所指出的,将 scanf() 这样的函数与 fgets() 结合起来并不好。当调用 scanf() 时,它会在输入缓冲区中留下一个换行符,然后立即由 fgets() 读取,导致它无法提示用户。

关于c - fgets 从提示符中读取换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53724841/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com