logo

Функція std::stoi в C++

Stoi() — стандартна бібліотечна функція, яка перетворює рядок на ціле число. Програмісти C++ використовують функцію, яка означає string to integer, щоб отримати цілі числа з рядків. Крім того, функція stoi() може видаляти інші компоненти, такі як кінцеві літери з рядка.

Синтаксис:



int stoi (string s, size_t* position = 0, int base = 10)>

Параметри:

  1. Рядок, який потрібно перетворити, є першим параметром.
  2. Розташування цілого числа, яке використовується для відстеження кількості прочитаних символів. У цьому випадку він не використовується, якщо цей параметр є нульовим покажчиком.
  3. Третій і останній параметр — база. Формат послідовності визначає використовувану основу, якщо вона дорівнює 0. Використовує основу 10 (десяткове число), якщо аргумент не передано.

приклади:

введення: 1NoProgrammer;



Вихід: 1

Введення : HelloWorld54;

Вихід : terminate викликається після викидання екземпляра ‘std::invalid_argument’



Пояснення: Це видає помилку, оскільки якщо перший символ не є цілим числом, функція stoi() завершується

різниця між лисицею та вовком

Введення : у вас 1 клавіатура;

Вихід : terminate викликається після викидання екземпляра ‘std::invalid_argument’

what(): стоїть

Тип повернення: Рядкове значення аргументу, переданого в стоячи() функція повертається як ціле число.

Як це працює?

Функція stoi(), яка приймає рядок як аргумент, може перетворити цілочисельний компонент рядка в цілочисельний тип. Він розглядатиме лише цілі значення до першого нецілого елемента або кінця рядка.

Коли ми виконуємо наведену нижче програму, під час виконання буде видано помилку. Це пов’язано з тим, що функція stoi() припиняє обхід рядка, коли зустрічає нецілий символ або пробіл. Функція stoi() завершує роботу, якщо початковий символ не є цілим числом.

каталог у командах Linux

приклад:

C++




// C++ Program to convert> // string into integer> // Using stoi function> // Error occurred> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string s =>'GeeksForGeeks 1'>;> >// calling stoi() passing string as parameter.> >int> n = stoi(s);> >cout << n;> }>

>

>

сортувати список масивів у java
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi>

Видає помилку, оскільки функція stoi() зустрічає пробіл перед 1.

приклад:

C++




// C++ Program to convert> // string into integer> // Using stoi> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string str =>'2009, techcodeview.com_founded'>;> >string str1 =>'0x6C1'>;> >string str2 =>'-10010010101'>;> >// Calling stoi() for all strings.> >int> num = stoi(str);> >int> num_hex = stoi(str1, nullptr, 16);> >int> num_bin = stoi(str2, nullptr, 2);> >// printing converted values> >cout << str <<>': '> << num << endl;> >cout << str1 <<>': '> << num_hex << endl;> >cout << str2 <<>': '> << num_bin << endl;> >return> 0;> }>

>

>

Вихід

2009, techcodeview.com_founded: 2009 0x6C1: 1729 -10010010101: -1173>

Часова складність: O(n) // n – довжина рядка.

java довжина масиву

Допоміжні приміщення: О(1)