La función strtoul() en C/C++ que convierte la parte inicial de la string en str en un valor int largo sin signo según la base dada, que debe estar entre 2 y 36 inclusive, o ser el valor especial 0. Esta función descarta cualquier carácter de espacio en blanco hasta que se encuentre el primer carácter que no sea un espacio en blanco, luego toma tantos caracteres como sea posible para formar una representación de número entero sin signo en base n válida y los convierte en un valor entero.
Sintaxis:
unsigned long int strtoul(const char *str, char **end, int base)
Parámetro: La función acepta tres parámetros obligatorios que se describen a continuación:
- str: puntero a la string de bytes terminada en nulo que se va a interpretar
- end : Puntero a un puntero a carácter (Referencia a un objeto de tipo char*)
- base : Base del valor entero interpretado
Valor de retorno: la función devuelve dos valores como se muestra a continuación:
- En caso de éxito, devuelve un valor entero correspondiente al contenido de str.
- Si no se realiza una conversión válida, se devuelve 0.
Los siguientes programas ilustran la función anterior:
Programa 1:
C++
// C++ program to illustrate the // strtoul() function #include <bits/stdc++.h> using namespace std; int main() { // initializing the string char str[256] = "90600 Geeks For Geeks"; // reference pointer char* end; long result; // finding the unsigned long // integer with base 36 result = strtoul(str, &end, 36); // printing the unsigned number cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end; return 0; }
The unsigned long integer is : 15124320 String in str is : Geeks For Geeks
Programa 2:
C++
// C++ program to illustrate the // strtoul() function with // different bases #include <bits/stdc++.h> using namespace std; int main() { // initializing the string char str[256] = "12345 GFG"; // reference pointer char* end; long result; // finding the unsigned long integer // with base 36 result = strtoul(str, &end, 0); cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end << endl; // finding the unsigned long integer // with base 12 result = strtoul(str, &end, 12); cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end << endl; // finding the unsigned long integer // with base 30 result = strtoul(str, &end, 30); cout << "The unsigned long integer is : " << result << endl; cout << "String in str is : " << end << endl; return 0; }
The unsigned long integer is : 12345 String in str is : GFG The unsigned long integer is : 24677 String in str is : GFG The unsigned long integer is : 866825 String in str is : GFG
Publicación traducida automáticamente
Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA