función strtoul() en C/C++

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;
}
Producción: 

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;
}
Producción: 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *