Espacios de nombres
Variantes
Acciones

std::wcstoimax, std::wcstoumax

De cppreference.com
< cpp‎ | string‎ | wide
 
 
 
 
Definido en el archivo de encabezado <cwchar>
std::intmax_t wcstoimax(constwchar_t* nptr, wchar_t** endptr, int base);
(desde C++11)
std::uintmax_t wcstoumax(constwchar_t* nptr, wchar_t** endptr, int base);
(desde C++11)
Interpreta un valor entero sin signo en una serie amplia apuntada por nptr .
Original:
Interprets an unsigned integer value in a wide string pointed to by nptr.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

La función descarta cualquier carácter en blanco hasta que se encuentra el primer carácter que no es carácter en blanco. Entonces toma tantos caracteres como sea posible para formar una representación válida de número entero sin signo de base-n (donde n=base) y los convierte a un valor entero . El valor entero sin signo válido consiste en las siguientes partes: Ninguna

  • (opcional) Prefijo (0) que indica la base octal (se aplica cuando la base es 8)
  • (opcional) Prefijo (0x o 0X) que indica la base hexadecimal (se aplica cuando la base es 16)
  • Una secuencia de dígitos

El conjunto de valores válidos para base es {0,2,3,...,36}. El conjunto de dígitos válidos para enteros de base 2 es 01, para enteros de base 3 es 012, y así sucesivamente. Para bases mayores que 10, los dígitos válidos incluyen caracteres alfabéticos, empezando desde Aa para enteros de base 11, hasta Zz para enteros de base 36. Los caracteres alfabéticos pueden ser minúsculas o mayúsculas.

Pueden aceptarse formatos numéricos adicionales por la configuración regional de C actualmente instalada.

Si el valor de base es 0, la base numérica se detecta automáticamente: si el prefijo es 0, la base es octal, si el prefijo es 0x o 0X, la base es hexadecimal, de lo contrario la base es decimal.

Si el signo menos era parte de la secuencia de entrada, el valor numérico calculado a partir de la secuencia de dígitos se niega como si lo fuera por el menos unario en el tipo del resultado , que aplica las reglas del desbordamiento de enteros sin signo (unsigned integer wraparound).

Las funciones establece el puntero que apunta al punto endptr al carácter ancho allá del último carácter interpretado. Si endptr es NULL, se omite .
Original:
The functions sets the pointer pointed to by endptr to point to the wide character past the last character interpreted. If endptr is NULL, it is ignored.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Contenido

[editar]Parámetros

nptr -
puntero a la cadena terminada en cero de ancho para ser interpretada
Original:
pointer to the null-terminated wide string to be interpreted
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
endptr -
puntero a un puntero a un carácter ancho .
Original:
pointer to a pointer to a wide character.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
base -
Base del valor entero interpretado
Original:
base of the interpreted integer value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Valor de retorno

Valor entero correspondiente al contenido de str en caso de éxito. Si el valor convertido cae fuera del rango del tipo de cambio correspondiente, se produce error de rango y INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX o 0 se devuelve, según corresponda. Si la conversión no se puede realizar, 0 se devuelve .
Original:
Integer value corresponding to the contents of str on success. If the converted value falls out of range of corresponding return type, range error occurs and INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX, or 0 is returned, as appropriate. If no conversion can be performed, 0 is returned.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar]Ejemplo

#include <iostream>#include <string>#include <cinttypes>   int main(){std::wstring str = L"helloworld";std::intmax_t val = std::wcstoimax(str.c_str(), nullptr, 36);std::wcout<< str <<" in base 36 is "<< val <<" in base 10\n";   wchar_t* nptr; val = std::wcstoimax(str.c_str(), &nptr, 30);if(nptr !=&str[0]+ str.size())std::wcout<< str <<" in base 30 is invalid."<<" The first invalid digit is "<<*nptr <<'\n';}

Salida:

helloworld in base 36 is 1767707668033969 in base 10 helloworld in base 30 is invalid. The first invalid digit is w

[editar]Ver también

Convierte una cadena de bytes a std::intmax_t o std::uintmax_t
(función)[editar]
Convierte una cadena ancha a un valor entero
(función)[editar]
Convierte una cadena ancha a un valor entero sin signo
(función)[editar]
Documentación de C para wcstoimax, wcstoumax
close