stoll函数
stoll
是C++标准库 <string>
中的一个函数,全称为std::stoll
,它的作用是将字符串(std::string
类型)转换为带符号的长整型(long long int
类型)。这个函数可以帮助程序员将从输入、文件或其他文本源得到的字符串形式的数字转换成可以进行数学计算的整数类型。
函数原型如下:
long long stoll(const std::string& str, size_t* idx = 0, int base = 10);
参数说明:
str
: 要转换的字符串。idx
(可选): 一个指向size_t
类型的指针,用于接收转换过程中遇到的第一个无法转换为数字字符的位置索引。如果不关心这个值,可以传入nullptr
。base
(可选): 指定转换所使用的基数,合法值范围是2至36,其中10代表十进制(默认值),2代表二进制,8代表八进制,16代表十六进制等。
示例用法:
#include <string> #include <iostream> int main() { std::string numberString = "1234567890123"; long long number; try { number = std::stoll(numberString); std::cout << "The converted number is: " << number << std::endl; } catch (std::invalid_argument& e) { std::cerr << "Invalid argument: " << e.what() << '\n'; } catch (std::out_of_range& e) { std::cerr << "Out of range: " << e.what() << '\n'; } return 0; }
在此示例中,如果numberString
是一个有效的十进制数字符串,stoll
函数将会把它转换为long long
类型的整数并赋值给number
。如果字符串无法转换为整数,例如包含非法字符或者数值超出long long
的表示范围,stoll
会抛出异常。
std::to_string函数
在C++编程语言中,`string t = to_string(x);`这条语句的作用是将一个整数或浮点数(假设这里的`x`是一个整数或浮点数)转换成字符串类型,并将结果存储到名为`t`的`std::string`对象中。
`std::to_string`函数是C++11引入的标准库函数,它可以将各种内置数值类型(如`int`、`long long`、`float`、`double`等)转化为对应的字符串表示形式。
举例来说,如果`x`的值是123,执行上述语句后,字符串`t`将存储"123"这个字符串。