gpt4 book ai didi

c - 使用 fgets 时忽略多余的空格

转载 作者:行者123 更新时间:2023-12-02 02:34:19 27 4
gpt4 key购买 nike

我正在使用带有标准输入的 fgets 来读取一些数据,我读取的最大长度为 25。通过我在这段代码上运行的测试之一,我在数据后有几百个空格想要 - 这会导致程序失败。

有人可以告诉我如何在使用 fgets 时忽略所有这些额外的空格并转到下一行吗?

最佳答案

迭代使用fgets(),然后扫描字符串看是否全是空格(以及是否以换行结尾),如果是就忽略它。还是在循环中使用 getc()getchar()

char buffer[26];

while (fgets(buffer, sizeof(buffer), stdin) != 0)
{
...process the first 25 characters...
int c;
while ((c = getchar()) != EOF && c != '\n')
;
}

该代码只是忽略了下一个换行符之前的所有字符。如果您想确保它们是空格,请在(内部)循环中添加一个测试 - 但如果字符不是空格,您必须决定要做什么。

关于c - 使用 fgets 时忽略多余的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2481879/

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