C++ 转换C+中的字符数组+;整型
可能重复:C++ 转换C+中的字符数组+;整型,c++,C++,可能重复: 我有 char[]str=“124” 我想用I==124得到一个intI。 我必须使用哪个函数?从C标准库中尝试: #include <cstdlib> char str[] = "124"; int i = atoi(str); #包括 字符str[]=“124”; int i=atoi(str); 或者,最好使用: #包括 字符str[]=“124”; inti=strtol(str,NULL,0); std::istringstream,或boost::le
我有 char[]str=“124” 我想用
I==124
得到一个intI
。
我必须使用哪个函数?从C标准库中尝试:
#include <cstdlib>
char str[] = "124";
int i = atoi(str);
#包括
字符str[]=“124”;
int i=atoi(str);
或者,最好使用:
#包括
字符str[]=“124”;
inti=strtol(str,NULL,0);
std::istringstream
,或boost::lexical\u cast
,如果您有boost。使用atoi函数
阿尔塞西
从char数组创建一个stringstream,并使用Don't useatoi
。没有错误处理。(但是strtol
是一个很好的选择,我没有提到。)@James:谢谢-我已经用strtol()
更新了答案,作为atoi()
的一个可能更好的选择。你需要指定更多。“1E20”想要什么?“1E3000000”?“你好”?“你好”?""? "2,3"? "2.3"? “00000 124”?在C++中,你说<代码> char STR[] =“124”< /代码>。学习在文档中查找东西是初学者开发的最重要的技能之一。所以集中精力。阅读文档,熟悉文档,在询问之前尝试查找内容。或者,正如我们在过去所说,对于不太敏感的学习者(或者可能是为了剔除那些敏感的、思想软弱的学习者),RTFM。干杯。,
#include <cstdlib>
char str[] = "124";
int i = strtol(str, NULL, 0);