在C++中,可以使用std::strtoll
函数将字符串转换为长整型(long long
)
#include<iostream>
#include<string>
#include <cstdlib> // 包含 strtoll 函数的头文件
int main() {
std::string str = "123456789012345"; // 要转换的字符串
char* end; // 用于存储转换后剩余字符串的起始位置
long long result = std::strtoll(str.c_str(), &end, 10); // 使用 strtoll 函数进行转换,10 表示十进制
if (end == str.c_str() + str.size()) { // 判断是否完全转换成功
std::cout << "转换成功,结果为:"<< result<< std::endl;
} else {
std::cout << "转换失败,未能完全转换"<< std::endl;
}
return 0;
}
在这个例子中,我们使用std::strtoll
函数将字符串str
转换为长整型。注意,我们需要传递一个指向字符的指针变量end
作为第二个参数,以便在转换后获取剩余字符串的起始位置。我们还需要传递一个整数参数(在本例中为10),表示要转换的数值的基数(进制)。在这种情况下,我们使用十进制。
在转换完成后,我们检查end
指针是否指向字符串的末尾,以确定是否已成功完全转换字符串。如果转换成功,则输出结果;否则,输出转换失败信息。