2015-08-11 2 views

ответ

1

Попробуйте это:

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

или в C++ 11:

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

stoi не работает. Ошибка: «stoi» не был объявлен в этой области. –

+0

Итак, вы включили 'string' и включили' C++ 11' в своем компиляторе? Ваш вопрос помечен тегом 'C++ 11', чтобы вы знали, что это такое и как его включить. –

0

Используйте этот

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

Если вы используете std::string вы можете использовать atoi с std::string::c_str() способом, или непосредственно с помощью std::stoi:

int val = std::stoi(mystring); 

std::stoi reference

С boost вы можете использовать boost::lexical_cast:

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

boost::lexical_cast reference

Обратите внимание, что atoi это история уже, главным образом из-затого старый C стандарт библиотека функция. В современном коде используется lexical_cast или stoi.

+0

Когда я использую std :: stoi, я получаю сообщение об ошибке «stoi» не является членом od 'std'. –

+0

@FreeSlave Итак, вы включили 'string' и включили' C++ 11' в своем компиляторе? Ваш вопрос помечен тегом 'C++ 11', чтобы вы знали, что это такое и как его включить. –

Смежные вопросы