Пространства имён
Варианты
Действия

std::strtoimax, std::strtoumax

Материал из cppreference.com

 
 
 
Нульзаканчивающихся строк байт
Функции
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Персонаж манипуляции
Original:
Character manipulation
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Преобразование в цифровой формат
Original:
Conversions to numeric formats
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Строками
Original:
String manipulation
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
strcpy
strncpy
strcat
strncat
strxfrm
Струнный экспертизы
Original:
String examination
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Память манипуляции
Original:
Memory manipulation
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
memchr
memcmp
memset
memcpy
memmove
Разное
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
strerror
 
Заголовочный файл <cinttypes>
std::intmax_t strtoimax(const char* nptr, char** endptr, int base);
(начиная с C++11)
std::uintmax_t strtoumax(const char* nptr, char** endptr, int base);
(начиная с C++11)
Интерпретирует целое значение в строку байт, на который указывает nptr.
Original:
Interprets an integer value in a byte 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.

Function discards any whitespace characters until first non-whitespace character is found. Then it takes as many characters as possible to form a valid base-n (where n=base) integer number representation and converts them to an integer value. The valid integer value consists of the following parts:

  • (необязательно) plus or minus sign
  • (необязательно) prefix (0) indicating octal base (applies only when the base is 8)
  • (необязательно) prefix (0x or 0X) indicating hexadecimal base (applies only when the base is 16)
  • a sequence of digits

The set of valid digits for base-2 integer is 01, for base-3 integer is 012, and so on. For bases larger than 10, valid digits include alphabetic characters, starting from Aa for base-11 integer, to Zz for base-36 integer. The case of the characters is ignored.

Функции устанавливает указатель на которую указывает endptr чтобы она указывала на символ после последнего символа интерпретируются. Если endptr является NULL, он игнорируется.
Original:
The functions sets the pointer pointed to by endptr to point to the 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.
Если nptr пуст или не иметь ожидаемого форму, преобразование не выполняется, и (если enptr не NULL) значение nptr хранится в объекте, на который указывает endptr.
Original:
If the nptr is empty or does not have the expected form, no conversion is performed, and (if enptr is not NULL) the value of nptr is stored in the object pointed to by endptr.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Содержание

[править] Параметры

nptr -
указатель с нулевым байтом строки должны интерпретироваться
Original:
pointer to the null-terminated byte 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 -
Указатель на указатель на символ .
Original:
pointer to a pointer to character.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
base -
' Из базы интерпретировать целое значение
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.

[править] Возвращаемое значение

  • В случае успеха, целое значение, соответствующее содержание str возвращается.
    Original:
    If successful, an integer value corresponding to the contents of str is returned.
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.
  • Если преобразованное значение выпадает из диапазона соответствующий тип возвращения, диапазон ошибки (настройка errno в ERANGE) и INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX или 0 возвращается, в случае необходимости.
    Original:
    If the converted value falls out of range of corresponding return type, a range error occurs (setting errno to ERANGE) and INTMAX_MAX, INTMAX_MIN, UINTMAX_MAX or 0 is returned, as appropriate.
    The text has been machine-translated via Google Translate.
    You can help to correct and verify the translation. Click here for instructions.
  • Если преобразование не может быть выполнено, 0 возвращается.
    Original:
    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.

[править] Пример

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

Вывод:

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

[править] См. также

(C++11)
(C++11)
преобразует широкий строку std::intmax_t или std::uintmax_t
Original:
converts a wide string to std::intmax_t or std::uintmax_t
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(функция) [edit]
преобразует байт строку в целое число
Original:
converts a byte string to an integer value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(функция) [edit]
преобразует байт строку в целое число без знака
Original:
converts a byte string to an unsigned integer value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(функция) [edit]
C документация для strtoimax, strtoumax