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

c++字符串转数字

作者:白话少年的痴情梦—   发布日期:2025-09-24   浏览:75

#include <iostream>
#include <string>
#include <cstdlib> // 包含 atoi 函数
#include <sstream> // 包含 stringstream

// 使用 atoi 函数将字符串转为整数
void stringToIntUsingAtoi() {
    std::string str = "12345";
    int num = atoi(str.c_str()); // 将字符串转换为整数
    std::cout << "Using atoi: " << num << std::endl;
}

// 使用 stringstream 将字符串转为整数
void stringToIntUsingStringstream() {
    std::string str = "67890";
    std::stringstream ss(str);
    int num;
    ss >> num; // 从 stringstream 中提取整数
    std::cout << "Using stringstream: " << num << std::endl;
}

// 使用 stoi 函数将字符串转为整数
void stringToIntUsingStoi() {
    std::string str = "54321";
    try {
        int num = std::stoi(str); // 将字符串转换为整数,如果转换失败会抛出异常
        std::cout << "Using stoi: " << num << std::endl;
    } catch (const std::exception& e) {
        std::cerr << "Exception caught: " << e.what() << std::endl;
    }
}

int main() {
    stringToIntUsingAtoi();
    stringToIntUsingStringstream();
    stringToIntUsingStoi();
    return 0;
}

解释说明:

  1. atoi 函数:这是一个 C 风格的函数,位于 <cstdlib> 头文件中。它可以直接将字符串转换为整数。但是它不会处理异常情况(如无效输入),因此使用时需要小心。

  2. stringstream:这是一个 C++ 标准库提供的类,位于 <sstream> 头文件中。通过将字符串放入 stringstream 对象中,然后从中提取整数,可以实现字符串到数字的转换。这种方式相对灵活,适用于更复杂的转换场景。

  3. stoi 函数:这是 C++11 引入的函数,位于 <string> 头文件中。它可以将字符串转换为整数,并且在遇到无效输入时会抛出异常,因此更加安全和易于处理错误。

以上三种方法都可以实现字符串到整数的转换,选择哪种方法取决于具体的需求和代码风格。

上一篇:c++ 判断文件夹是否存在

下一篇:c++和c

大家都在看

c++闭包

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

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

队列c++

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

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

Laravel 中文站