Как в c преобразовать string в int
Перейти к содержимому

Как в c преобразовать string в int

  • автор:

Как в c преобразовать string в int

Нередко может возникнуть необходимость объединить строку с данными других типов, например, числами. Однако объединить строку мы можем только с другой строкой. Поэтому данные других типов вначале необходимо преобразовать в строку. Для преобразования в строку применяется функция std:to_string() , в которую передается преобразуемое значение:

#include #include int main() < unsigned age; std::string message< "Age: " + std::to_string(age)>; std::cout 

Функции преобразования из строки в число

Нередко может вощникнуть противиположная задача — преобразовать строку в другой тип. Есть ряд функций, которые преобразуют строку в число определенного типа:

  • stoi() : преобразует в тип int
  • stol() : в long
  • stoll() : в long long
  • stoul() : в unsigned long
  • stoull() : в unsigned long long
  • stof() : в float
  • stod() : в double
  • stold() : в long double

Все они определены в модуле , работают однотипно и в качестве параметра принимают преобразуемую строку:

std::string str< "123" >; int n< std::stoi(str) >; // n == 123

Преобразование строки в указатель на символы

При необходимости можно преобразовать значение типа string в указатель на символы. Для преобразования в указатель на константную строку применяется метод c_str() :

#include #include int main() < std::string message ; const char* message_ptr = message.c_str(); // преобразуем в указатель std::cout

Для получения указателя также можно применять метод data() , который возвращает указатель на неконстантное значение, если объект string не является константой.

#include #include int main() < std::string message ; char* message_ptr = message.data(); // преобразуем в указатель std::cout

Перевод string в integer

Спасибо, все работает. Долго ломал голову и гуглил. А можешь пару коментов дать к параметрам функции этой?

2 мая 2011 в 20:29
ВНИМАНИЕ. Способ устарел, сейчас (2018) лучше использовать stoi.
24 сен 2018 в 21:44
И чтобы не надо было вчитываться в документацию, замечу, stoi использует strtol со всеми ее фичами
24 сен 2018 в 23:08

#include #include #include using namespace std; int main () < string S = "74"; istringstream iss (S, istringstream::in); int val; iss >> val; return 0; > 

Отслеживать
ответ дан 2 мая 2011 в 17:35
1,905 13 13 серебряных знаков 16 16 бронзовых знаков

#include #include using namespace std; void main() < string str = "1234567890"; int num = NULL; for (int i = 0; i < str.length(); i++)< num = num*10 + str[i] - 0x30; >cout

Отслеживать
ответ дан 8 дек 2016 в 16:10
21 3 3 бронзовых знака
int num = NULL; .
8 дек 2016 в 16:12
оно работать будет, но да, выглядит дико. Но точка с запятой после include — это интересно.
8 дек 2016 в 16:14
сделай так, если страшно: int num = 0;
8 дек 2016 в 16:26

можно написать по всякому, но лучше писать так, как принято. Но в 2016 году лучше использовать std::stoi.

8 дек 2016 в 16:40
это сильно просто:
8 дек 2016 в 16:54

using namespace std; void main()

Отслеживать
ответ дан 10 янв 2022 в 19:31
Vasyl Androshchook Vasyl Androshchook
11 2 2 бронзовых знака

В текущем виде ваш ответ непонятен. Пожалуйста, нажмите править под сообщением, чтобы добавить больше подробностей, которые помогут другим понять, как он отвечает на заданный вопрос. Вы можете найти больше информации о том, как писать хорошие ответы в Справке.

10 янв 2022 в 19:33

добро пожаловать на stack overflow на русском! пожалуйста, постарайтесь оставлять чуть более развёрнутые ответы. дополнить ответ можно, нажав править

Как преобразовать string в int?

Так не получается. Раньше, кажется, как-то преобразовывал, а как — не помню.

Добавлено через 21 минуту 53 секунды
Всё, понял, как надо:

string s = "5"; int i = Convert.ToInt32(s);

Извиняюсь за беспокойство !
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как преобразовать в базе из int в string
Добрый день.Такая проблемма.Тут ругается на файл в кейсе на цифру 1 типо преобразовать в string.

Как преобразовать string в int?
Как преобразовать string в int? Задача такая: в реестре записывается счётчик открытия программы, и.

Как правильно преобразовать string в int[]?
Такой вот маневр не проходит, а подходящих конверторов не знаю int mass =.

Как преобразовать int в string в выводе на консоль?
Чтобы вывести value. static void Method(out int i, out string s1, out string s2) < .

Преобразовать строку в int в C++

В этом посте мы обсудим, как преобразовать строку в int в C++.

1. Использование std::stoi функция

Стандартный подход заключается в использовании std::stoi функция преобразования строки в целое число. stoi функция была введена в C++11 и определена в заголовке . Он бросает std::invalid_argument или же std::out_of_range исключение при неправильном вводе или целочисленном переполнении соответственно. Стоит отметить, что он будет преобразовывать такие строки, как 10xyz в целое число 10 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *