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

La función wcstoll() en C/C++ convierte una string de caracteres anchos en un entero largo. Establece el puntero para señalar el primer carácter después del último carácter.

Sintaxis:

long long wcstoll( const wchar_t* str, wchar_t** str_end, int base )

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

  • str: especifica una string ancha que comienza con el número entero .
  • str_end: la función establece el valor de str_end en el siguiente carácter, después del último carácter válido, si lo hay, o apuntará a NULL.
  • base: especifica la base, los valores de Base pueden ser de {0, 2, 3, …, 35, 36}.

Valor devuelto: la función devuelve el entero largo largo convertido. Devuelve 0, si el carácter apunta a NULL.

Los siguientes programas ilustran la función anterior:

Programa 1:

// C++ program to illustrate
// the function wcstoll()
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // wide-character type array string starting
    // with integral 'L'
    wchar_t string1[] = L"888geekforgeeks";
    wchar_t string2[] = L"999gfg";
  
    // End pointer will point to the characters
    // after integer, according to the base
    wchar_t* End;
  
    // Initializing base
    int b = 10; 
    int value;
  
    value = wcstoll(string1, &End, b);
    value = wcstoll(string2, &End, b);
  
    // prints the whole input string
    wcout << "String Value = " << string1 << "\n";
    wcout << "Long Long Int value = " << value << "\n";
  
    // prints the end string after the integer
    wcout << "End String = " << End << "\n";
  
    wcout << "String Value = " << string2 << "\n";
    wcout << "Long Long Int Value = " << value << "\n";
    wcout << "End String = " << End << "\n";
    return 0;
}
Producción:

String Value = 888geekforgeeks
Long Long Int value = 999
End String = gfg
String Value = 999gfg
Long Long Int Value = 999
End String = gfg

Nota: Los valores de las bases pueden ser {0, 2, 3, …, 35, 36}. Un conjunto de dígitos válidos para base 2 es {0, 1}, para base 3 es {0, 1, 2} y así sucesivamente. Para bases a partir de 11 a 36, ​​los dígitos válidos incluyen alfabetos. El conjunto de dígitos válidos para base 11 es {0, 1, …, 9, A, a}, para base 12 es {0, 1, …, 9, A, a, B, b} y así sucesivamente.

Programa 2: función con diferentes bases

// C++ program to illustrate the function wcstoll()
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // End pointer, will point to the characters
    // after integer, according to the base
    wchar_t* End;
  
    // wide-character type array string
    wchar_t string[] = L"1356geekforgeeks";
  
    // Prints the long long integer provided with base 5
    wcout << "Long Long Int with base5 = "
    << wcstoll(string, &End, 5) << "\n";
  
    wcout << "End String = " << End << "\n";
  
    // Prints the long long integer provided with base 12
    wcout << "Long Long Int with base12 = " 
    << wcstoll(string, &End, 12) << "\n";
  
    wcout << "End String = " << End << "\n";
  
    // Prints the long long integer provided with base 36
    wcout << "Long Long Int with base36 = "
    << wcstoll(string, &End, 36) << "\n";
  
    wcout << "End String = " << End << "\n";
  
    return 0;
}
Producción:

Long Long Int with base5 = 8
End String = 56geekforgeeks
Long Long Int with base12 = 2226
End String = geekforgeeks
Long Long Int with base36 = 9223372036854775807
End String =

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 *