std::stoi, std::stol, std::stoll
来自cppreference.com
< cpp | string | basic string
![]() |
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
定义于头文件 <string>
|
||
int stoi( const std::string& str, size_t *pos = 0, int base = 10 ); |
(1) | (C++11 起) |
long stol( const std::string& str, size_t *pos = 0, int base = 10 ); |
(2) | (C++11 起) |
long long stoll( const std::string& str, size_t *pos = 0, int base = 10 ); |
(3) | (C++11 起) |
解释字符串中的有符号整数
str
.原文:
Interprets a signed integer value in the string
str
.舍弃所有空白符(调用isspace()
所标识者),直到找到首个非空白符,然后取尽可能多的字符组成底n(其中n=base)的整数表示,并将它们转换成一个整数值。合法的整数值由下列部分组成:
- (可选)正或负号
- (可选)指示八进制底的前缀(
0
)(仅当底为8或0时应用) - (可选)指示十六进制底的前缀(
0x
或0X
)(仅当底为16或0时应用) - 一个数字序列
底的合法集是{0,2,3,...,36}。合法数字集对于底2整数是{0,1
},对于底3整数是{0,1,2
},以此类推。对于大于10
的底,合法数字包含字母字符,从对于底11整数的Aa
到对于底36整数的Zz
。忽略字符大小写。
附加的数字格式可能为当前安装的C本地环境所接受。
若base为0,则自动检测数值进制:若前缀为0
,则底为八进制,若前缀为0x
或0X
,则底为十六进制,否则底为十进制。
若符号是输入序列的一部分,则从数字序列计算得来的数字值被取反,如同用结果类型的一元减。
的第一个未转化的字符的索引被存储在
pos
。 NULL通过为pos
,被忽视原文:
The index of the first unconverted character is stored in
pos
. If NULL is passed as pos
, it is ignored.目录 |
[编辑] 参数
str | - | 要转换的字符串。一个整数来存储索引的第一个未转换的字符
|
pos | - | 原文: address of an integer to store the index of the first unconverted character |
base | - | 地址。基数
|
[编辑] 返回值
将字符串转换为指定的有符号整数类型.
原文:
The string converted to the specified signed integer type.
[编辑] 例外
- std::invalid_argument如果没有可以进行转换原文:std::invalid_argument if no conversion could be performed
- std::out_of_range如果转换后的值会掉出来的结果类型的范围.原文:std::out_of_range if the converted value would fall out of the range of the result type.
[编辑] 示例
#include <iostream> #include <string> int main() { std::string test = "45"; int myint = stoi(test); std::cout << myint << '\n'; }
输出:
45
[编辑] 另请参阅
将单字节字符串转换为整数值 原文: converts a byte string to an integer value (函数) | |
(C++11) (C++11) |
将字符串转换为无符号整数 原文: converts a string to an unsigned integer (函数) |
(C++11) (C++11) (C++11) |
将字符串转换为浮点值 原文: converts a string to an floating point value (函数) |
(C++11) |
将整值或浮点值转换成string (函数) |