std::strtoimax, std::strtoumax

来自cppreference.com
< cpp‎ | string‎ | byte

 
 
字符串库
null结尾的字符串
原文:
Null-terminated strings
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
字节的字符串
多字节字符串
宽字符串
原文:
Classes
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
basic_string
char_traits
 
NULL结尾的字节串
功能
原文:
Functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
字符操作
原文:
Character manipulation
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
转换为数字格式
原文:
Conversions to numeric formats
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
字符串操作
原文:
String manipulation
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
strcpy
strncpy
strcat
strncat
strxfrm
字符串检查
原文:
String examination
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
内存操作
原文:
Memory manipulation
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
memchr
memcmp
memset
memcpy
memmove
杂项
原文:
Miscellaneous
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
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.
原文:
Interprets an integer value in a byte string pointed to by nptr.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

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,被忽视。
原文:
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.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
。如果nptr是空的,或者没有预期的形式,无需转换,(如果enptr是不NULLnptr)的值存储在指向的对象的endptr.
原文:
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.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 。参数。

nptr -
。 null结尾的字节串的指针进行解释。
原文:
pointer to the null-terminated byte string to be interpreted
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
endptr -
。字符指针的指针.
原文:
pointer to a pointer to character.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
base -
。 “基地”的解释的整数值。
原文:
base of the interpreted integer value
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

===。 返回值。===

  • 。如果成功的话,一个整数值对应的内容str退货。.
    原文:
    If successful, an integer value corresponding to the contents of str is returned.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
  • 。如果转换的值落在相应的返回类型的范围,发生范围错误(设置errnoERANGE)和INTMAX_MAXINTMAX_MINUINTMAX_MAX0返回,适当.
    原文:
    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.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
  • 。如果没有可以进行转换,0返回.
    原文:
    If no conversion can be performed, 0 is returned.
    这段文字是通过 Google Translate 自动翻译生成的。
    您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 。为例。

#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_tstd::uintmax_t
原文:
converts a wide string to std::intmax_t or std::uintmax_t
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
一个字节的字符串转换为整数的值
原文:
converts a byte string to an integer value
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
一个无符号整数的值转换为字节字符串
原文:
converts a byte string to an unsigned integer value
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
C documentation for strtoimax, strtoumax