std::strtoimax, std::strtoumax

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

 
 
 
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 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

舍弃所有空白符(调用isspace()所标识者),直到找到首个非空白符,然后取尽可能多的字符组成底n(其中n=base)的整数表示,并将它们转换成一个整数值。合法的整数值由下列部分组成:

  • (可选)正或负号
  • (可选)指示八进制底的前缀(0)(仅当底为80时应用)
  • (可选)指示十六进制底的前缀(0x0X)(仅当底为160时应用)
  • 一个数字序列

底的合法集是{0,2,3,...,36}。合法数字集对于底2整数是{0,1},对于底3整数是{0,1,2},以此类推。对于大于10的底,合法数字包含字母字符,从对于底11整数的Aa到对于底36整数的Zz。忽略字符大小写。

附加的数字格式可能为当前安装的C本地环境所接受。

若base为0,则自动检测数值进制:若前缀为0,则底为八进制,若前缀为0x0X,则底为十六进制,否则底为十进制。

若符号是输入序列的一部分,则从数字序列计算得来的数字值被取反,如同用结果类型的一元减

。的功能设置的指针所指向的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]
strtoimaxstrtoumaxC 文档