gpt4 book ai didi

C fgets - 捕获溢出的简单方法?

转载 作者:太空宇宙 更新时间:2023-11-03 23:55:05 28 4
gpt4 key购买 nike

非常简单的例子——希望有一个简单的解决方案:

char x[7];
if(fgets(x,5,stdin))
printf("y");
else
printf("n");

当我输入的字节数超过字节限制时,我似乎无法让它打印“n” - 是否有任何简单的方法可以强制执行或在超过字节限制时捕获?

作为附带问题,在上面的代码片段中,哪些示例输入实际上会导致“n”?我现在真的不明白这一点..

干杯,B

最佳答案

fgets 失败时将返回 0,因此要将“n”作为输出,您可以使用 control-D 或 control-Z(或您的操作系统用来指示输入结束的任何内容) ) 而无需先输入任何其他内容。

要检测输入的字符数何时超过您留出的阅读空间,请检查您读取的最后一个字符是否为换行符。如果是,则阅读整行。如果不是,则需要更多等待。

关于C fgets - 捕获溢出的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10023285/

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