std::strtoimax, std::strtoumax

来自cppreference.com

 
 
字元串庫
null結尾的字元串
Original:
Null-terminated strings
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
位元組的字元串
多位元組字元串
寬字元串
Original:
Classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
basic_string
char_traits
 
NULL結尾的位元組串
功能
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
 
Defined in header <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指向過去的字元的最後一個字元解釋。 endptrNULL,被忽視。
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是不NULLnptr)的值存儲在指向的對象的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 -
。 null結尾的位元組串的指針進行解釋。
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.
  • 。如果轉換的值落在相應的返回類型的範圍,發生範圍錯誤(設置errnoERANGE)和INTMAX_MAXINTMAX_MINUINTMAX_MAX0返回,適當.
    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';
}

Output:

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_tstd::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 documentation for strtoimax, strtoumax