gpt4 book ai didi

c++ - 限制一个str[n]的输入

转载 作者:行者123 更新时间:2023-11-28 00:03:42 24 4
gpt4 key购买 nike

我在处理必须制作的控制台应用程序时遇到了问题。问题是我有一个 void 函数,我在其中使用 cin.getline来自 <iostream><cstring> .

我的字符串定义如下:char str[50];每次我输入超过 50 个符号时,我都会进入无限循环,基本上我的程序会崩溃。

你们能想到一个函数来忽略超过限制(在本例中为 50)的所有内容,这样我的程序就不会崩溃吗?忽略,我的意思是当我输入 50 多个符号时,程序会说:

max 50 symbols, please input again:

最佳答案

getline的二次签名

istream& getline (char* s, streamsize n, char delim );

可能是您所追求的。 streamsize n 参数就是您要找的。 This documentation可能有帮助。不要忘记检查故障位。

正如其他人所提到的,使用 std::string 是一个更好的解决方案,但我会给你带来疑问的好处,并假设你有分配静态 c 风格字符缓冲区的理由。

关于c++ - 限制一个str[n]的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36970132/

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