如何将声明为字符串的整数转换为int类型

How to convert an integer declared as a string to an int type?

本文关键字:整数 转换 int 类型 字符串 声明      更新时间:2023-10-16

我尝试了这个解决方案,但它不起作用。

string mystring = "77";
int mynum = atoi(mystring);

错误:无法将' std::string{又名std::basic_string} '转换为' const char* ',参数' 1 '转换为' int atoi(const char*) 'Int mynum = atoi(mystring);

如果您使用std::string,则可以使用atoistd::string::c_str()方法,或直接使用std::stoi:

int val = std::stoi(mystring);

std:: stoi参考

对于boost,您可以使用boost::lexical_cast:

int val = boost::lexical_cast<int>(mystring);
boost:: lexical_cast参考

注意,atoi已经是一个历史,主要是因为它是旧的C标准库函数。现代代码使用lexical_caststoi

试试这个:

string mystring = "77";
int mynum = atoi(mystring.c_str()); 

或c++ 11中的

string mystring = "77";
int mynum = stoi(mystring); 

使用

int mynum = atoi(mystring.c_str());