Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 转换C+中的字符数组+;整型_C++ - Fatal编程技术网

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
得到一个int
I
。 我必须使用哪个函数?

从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 use
atoi
。没有错误处理。(但是
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);