gpt4 book ai didi

c++ - 在 C++03 中将字符串转换为 int

转载 作者:太空狗 更新时间:2023-10-29 21:25:50 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to parse a string to an int in C++?

在 C++03 中有多种方法可以将字符串转换为整数。到目前为止我发现的最好的是:

string text;
cin>>text;
int converted;

if ( !(istringstream(text) >> converted) ){
cout<<"conversion failed\n";
}
cout<<"the converted string is "<<converted;

此解决方案的问题在于它接受“12monkeys”并毫不犹豫地将其转换为 12。在这种情况下,是否有一些简单的方法来检查这一点并输出“转换失败”?

请注意,我已经尝试过 atoi()、atol() 和 strtol(),但如果失败则返回 0 是徒劳的。我怎么知道字符串是否不是“0”?也没有范围检查(strtol() 除外)。更不用说那里也存在“12monkeys”问题。

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