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

1949idc 2年前 (2024-09-18) 阅读数 513 #编程语言

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

版权声明

本文内容由互联网用户自发贡献,该文观点仅代表作者本人
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

© 2010 首途云安 & 厦门硕顿信息技术有限公司 & 闽ICP备11016866号  增值电信业务经营许可证:B1-20203020 地址:福建厦门思明区嘉禾路297号1806
高新技术企业
软件产品证书
计算机软件著作权
ISO认证
国家3A企业