c++

c++如何通过strtoll转换长整型

小樊
102
2024-09-15 16:28:08
栏目: 编程语言

在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指针是否指向字符串的末尾,以确定是否已成功完全转换字符串。如果转换成功,则输出结果;否则,输出转换失败信息。

0
看了该问题的人还看了