В программе нужно перевести строку в целое число. Я пытался использовать функцию stoi
для этой цели, но она не принимается - выходит ошибка:
'stoi' was not declared in this scope
В частности, мне нужно перевести строку наподобие такой "5678906576"
в целое число. Я пытался заменить ее на atoi
, используя предварительно c_str
. Пишу:
string str = "5678906576";
cout << atoi(str.c_str())<< endl;
Получаю в консоли 1383939280
.
Тогда я пробую функцию fromStdString().toInt()
из Qt Core. Пишу:
string str = "5678906576";
cout << QString::fromStdString(str).toInt() << endl;
Получаю 0.
Господа, объясните, пожалуйста, почему так и чем мне тогда заменить stoi
.
Использую Qt 4.7.4 QtCreator-2.4.1.
Так
string str = "5678906576";
cout << atoi(str.c_str())<< endl;
можно. Но тут у вас проблема выхода за рамки int
, тут вам нужно было
cout << atoll(str.c_str())<< endl;
Для использования stoi вам нужно подключить заголовочный файл
#include <string>
и использовать ее вот так
#include <string>
int main()
{
std::string str1 = "45";
std::string str2 = "3.14159";
int myint1 = std::stoi(str1);
int myint2 = std::stoi(str2);
}
сама функция и использование описаны в std::stoi, std::stol, std::stoll
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
можно ли начать читать файл с определенного места?например есть текст,обработал одно слово -закрыл файл,в другой функции открыл этот файл...
Пытаюсь присвоить значения вектора v1 k v2 но компилятор дает ошибкуГде ошибка? И ещё один вопрос, как перезагружать оператор присваивания...
Здравствуйте, имеется кусок следующей jquery функции: