English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Преобразование типа string в тип int в C++

Для написания программы необходимо преобразовать string в int, поэтому я исследовал это.

Метод один: функция atoi

Функция atoi преобразует строку в целое число, обратите внимание, что необходима библиотека stdlib. Поэтому я попробовал:

#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
 string a = "11", b = "22";
 cout << atoi(a) + atoi(b) << endl;
 возврат 0;
}

Однако обнаружилось, что ошибка:

Очевидно, что atoi требует const char* типа, а я выше дал string тип, поэтому нужно добавить одну функцию string.c_str(). string.c_str() является функцией класса String,封装在 Borland String, которая возвращает адрес первого символа текущей строки.

Возврат функции c_str() является const char*, поэтому мы добавляем функцию c_str():

#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int main()
{
 string a = "11", b = "22";
 cout << atoi(a.c_str()) + atoi(b.c_str()) << endl;
 возврат 0;
}

И вот это成功了, если что-то не так, пожалуйста, укажите.

Вот и все, что было в этой статье, надеюсь, что это поможет вам в изучении или работе, также надеюсь, что вы поддержите учебник!

Заявление: содержание этой статьи взято из Интернета, авторские права принадлежат соответствующему автору. Контент предоставлен пользователями Интернета, самостоятельно загруженным, сайт не обладает правами собственности, не прошел редактирование, не несет ответственности за соответствующие юридические вопросы. Если вы обнаружите подозрительное нарушение авторских прав, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @),并提供相关证据. При обнаружении факта нарушения авторских прав сайт немедленно удаляет涉嫌侵权的内容。

Основной учебник
Рекомендуем к просмотру