gpt4 book ai didi

C++ 字符转 int

转载 作者:可可西里 更新时间:2023-11-01 16:30:39 25 4
gpt4 key购买 nike

当您将 cin>> 字母转换为 int 变量时会发生什么?我尝试了简单的代码来添加 2 个 int 数字,首先读取它们,然后添加它们。但是当我输入字母时,它就会失败并在屏幕上打印大量数字。但是是什么导致了这个错误呢?我的意思是,我希望它加载并使用该字母的 ASCII 代码。

最佳答案

我假设你有这样的代码:

int n;
while (someCondition) {
std::cin >> n;
.....
std::cout << someOutput;
}

当您输入无法读取为整数的内容时,流 (std::cin) 会进入失败状态,并且只要您不处理输入错误,所有后续输入尝试都会失败。

可以测试输入操作是否成功:

if (!(std::cin >> n)) //failed to read int

并且您可以将流恢复到良好状态并丢弃未处理的字符(导致输入失败的输入):

std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

另一种可能性是接受字符串变量的输入(很少失败)并尝试将字符串转换为 int。

这是一个非常常见的输入问题,这里和其他地方应该有大量关于它的话题。

关于C++ 字符转 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2407771/

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