Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ string to int

作者:发光男神   发布日期:2025-08-03   浏览:76

#include <iostream>
#include <string>
#include <cstdlib> // for atoi

int main() {
    std::string str = "12345";
    int num;

    // 使用 C 风格的函数 atoi 将字符串转换为整数
    num = atoi(str.c_str());
    std::cout << "Using atoi: " << num << std::endl;

    // 使用 C++11 的 stoi 函数将字符串转换为整数
    try {
        num = std::stoi(str);
        std::cout << "Using stoi: " << num << std::endl;
    } catch (const std::invalid_argument& e) {
        std::cerr << "Invalid argument: " << e.what() << '\n';
    } catch (const std::out_of_range& e) {
        std::cerr << "Out of range: " << e.what() << '\n';
    }

    return 0;
}

解释说明:

  1. atoi 函数

    • atoi 是 C 标准库中的一个函数,用于将 C 风格字符串(以空字符结尾的字符数组)转换为整数。
    • 它不会抛出异常,而是返回 0 或者在遇到无效输入时返回 0。因此,使用时需要注意检查输入的有效性。
  2. std::stoi 函数

    • std::stoi 是 C++11 引入的一个更安全的函数,用于将 std::string 类型的字符串转换为整数。
    • 如果输入的字符串不是有效的整数表示形式,它会抛出 std::invalid_argument 异常;如果数值超出了 int 类型的范围,则会抛出 std::out_of_range 异常。
    • 因此,通常需要使用 try-catch 块来捕获这些异常并进行处理。

以上代码展示了如何使用这两种方法将字符串转换为整数,并且提供了相应的异常处理机制。

上一篇:c++多线程实现的四种方式

下一篇:c++ *

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++ orm框架

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ vector 清空

c++ tcp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站