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

La función wcstol() en C/C++ convierte la string ancha dada en un entero largo. Esta función establece un puntero para apuntar al primer carácter después del último carácter válido de la string ancha, si lo hay; de lo contrario, el puntero se establece en nulo. Esta función ignora todos los caracteres de espacio en blanco iniciales hasta que se encuentra el carácter principal que no es un espacio en blanco.

Sintaxis:

long int wcstol( const wchar_t* str, wchar_t** endString, int base )

Parámetros: La función acepta tres parámetros obligatorios que se describen a continuación:

  • string : String que comienza con una forma integral.
  • endString : la función lo establece en el siguiente carácter de la string después del último carácter válido.
  • base: el conjunto de valores válidos para la base es {0, 2, 3, …, 35, 36}.

Valor devuelto: la función devuelve dos valores como se muestra a continuación:

  • Si tiene éxito, la función devuelve el número entero convertido como un valor int largo.
  • Devuelve cero, si no se pudo realizar una conversión válida.
  • Si el valor leído está fuera del rango de valores representables por un int largo, la función devuelve LONG_MAX o LONG_MIN (definido en), y errno se establece en ERANGE.

Los siguientes programas ilustran la función anterior:
Programa 1:

// C++ program to illustrate
// wcstol() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // initialize the string
    wchar_t string[] = L"101GeeksForGeeks";
  
    // initialize the base
    int base = 3;
    wchar_t* endString;
  
    // print the long integer value with the end string
    long value = wcstol(string, &endString, base);
    wcout << L"String value --> " << string << "\n";
    wcout << L"Long integer value --> " << value << "\n";
    wcout << L"End String = " << endString << "\n";
  
    return 0;
}
Producción:

String value --> 101GeeksForGeeks
Long integer value --> 10
End String = GeeksForGeeks

Programa Con diferentes bases :
Programa 2 :

// C++ program to illustrate
// wcstol() function
// with different bases
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // initialize the string
    wchar_t string[] = L"101GFG";
  
    // initialize the base
  
    wchar_t* endString;
  
    // print the long integer value with the end string
    // with base 2
    long value = wcstol(string, &endString, 2);
    wcout << L"String value --> " << string << "\n";
    wcout << L"Long integer value --> " << value << "\n";
    wcout << L"End String = " << endString << "\n";
  
    // print the long integer value with the end string
    // with base 5
    value = wcstol(string, &endString, 5);
    wcout << L"String value --> " << string << "\n";
    wcout << L"Long integer value --> " << value << "\n";
    wcout << L"End String = " << endString << "\n";
  
    // print the long integer value with the end string
    // with base 12
    value = wcstol(string, &endString, 12);
    wcout << L"String value --> " << string << "\n";
    wcout << L"Long integer value --> " << value << "\n";
    wcout << L"End String = " << endString << "\n";
  
    return 0;
}
Producción:

String value --> 101GFG
Long integer value --> 5
End String = GFG
String value --> 101GFG
Long integer value --> 26
End String = GFG
String value --> 101GFG
Long integer value --> 145
End String = 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 *