logo

Función std::stoi en C++

stoi() es una función de biblioteca estándar que convierte una cadena en un número entero. Los programadores de C++ utilizan la función, que significa cadena a entero, para obtener números enteros a partir de cadenas. Además, la función stoi() puede eliminar otros componentes, como las letras finales de la cadena.

Sintaxis:



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

Parámetros:

  1. La cadena que debe transformarse es el primer parámetro.
  2. Ubicación de un número entero utilizado para realizar un seguimiento de cuántos caracteres se leyeron. En ese escenario, no se utiliza si este parámetro es un puntero nulo.
  3. El tercer y último parámetro es la base. El formato de la secuencia determina la base utilizada si es 0. Utiliza base 10 (decimal) si no se pasa ningún argumento.

Ejemplos:

Aporte: 1Sin programador;



Producción: 1

Aporte : HolaMundo54;

Producción : termina llamado después de lanzar una instancia de 'std::invalid_argument'



Explicación: Esto genera un error porque si el primer carácter no es un número entero, la función stoi() termina

diferencia entre zorro y lobo

Aporte : Tienes 1 teclado;

Producción : termina llamado después de lanzar una instancia de 'std::invalid_argument'

qué(): se encuentra

Tipo de devolución: El valor de cadena de un argumento pasado al de pie() La función se devuelve como un número entero.

¿Cómo funciona?

La función stoi(), que acepta una cadena como argumento, puede convertir el componente entero de una cadena a un tipo entero. Solo considerará valores enteros hasta el primer elemento no entero o el final de la cadena.

Cuando ejecutamos el siguiente programa, se producirá un error en tiempo de ejecución. Esto se debe al hecho de que la función stoi() deja de atravesar la cadena cuando encuentra un carácter no entero o un carácter de espacio en blanco. La función stoi() sale si el carácter inicial no es un número entero.

Ejemplo:

C++


Linux que



// 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;> }>

>

>

cuantas semanas hay en un mes
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi>

Da un error porque la función stoi() encuentra un carácter de espacio en blanco antes de 1.

Ejemplo:

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;> }>

>

>

Producción

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

Complejidad del tiempo: O(n) // n es la longitud de la cadena.

cómo abrir un archivo json

Espacio auxiliar: O(1)