gpt4 book ai didi

c++ - 在 C++ 中输入空白行之前,如何要求用户输入整数?

转载 作者:行者123 更新时间:2023-11-30 04:43:35 26 4
gpt4 key购买 nike

所以我需要将用户输入存储在一个 vector 中,直到他输入一个空行(或无效输入)。我试图将输入转换为字符串,然后将其与空白行进行比较,但没有成功。这是代码:

int input;
vector<int> v;
do
{
cout << "Write a number!" << endl;
cin >> input;
v.push_back(input);
} while (to_string(input) != "");

有什么办法吗?

更新

非常感谢大家的帮助!第二个答案解决了我所有的问题,第一个帮助我理解了它的逻辑背景。

最佳答案

您可以反转您的逻辑:您可以读取字符串,检查它们是否为空,然后将它们转换为整数,而不是读取整数

>
std::string input;
std::vector<int> v;
std::getline(std::cin, input);
while(!input.empty())
{
int number = std::stoi(input);
v.push_back(number);
std::getline(std::cin, input);
}

请注意 std::cin 将不起作用,因为它会忽略空格(包括换行符)。此外,将 std::cin >>std::getline 混合是 a bad idea

关于c++ - 在 C++ 中输入空白行之前,如何要求用户输入整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58184690/

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