如何在c++中使用strtoll转换失败

   2024-09-30 3910
核心提示:在C++中,strtoll函数用于将字符串转换为长整型(long long)包含头文件 cstdlib。使用 strtoll 函数并检查返回值和错误指示器。

在C++中,strtoll函数用于将字符串转换为长整型(long long)

包含头文件 <cstdlib>。使用 strtoll 函数并检查返回值和错误指示器。如果转换失败,处理错误。

以下是一个简单的示例:

#include<iostream>#include <cstdlib>#include <cerrno>int main() {    const char* str = "not_a_number"; // 输入字符串    char* end; // 用于存储 strtoll 停止解析的位置    errno = 0; // 重置错误指示器    long long result = std::strtoll(str, &end, 10);    if (errno == ERANGE) {        // 溢出或下溢        std::cout << "Conversion failed: out of range"<< std::endl;    } else if (end == str || *end != '\0') {        // 没有字符被解析或字符串中还有未解析的字符        std::cout << "Conversion failed: invalid input"<< std::endl;    } else {        // 转换成功        std::cout << "Converted value: "<< result<< std::endl;    }    return 0;}

这个示例会尝试将字符串 “not_a_number” 转换为长整型。由于这不是一个有效的数字,所以转换会失败,程序会输出 “Conversion failed: invalid input”。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号