c++ 将int整型数据转变为string字符串的几种方法

1.使用 stringstream (适用于任何C++版本)  

注意:要加头文件 #include <sstream>

或者用万能文件头(GCC编译器)#include <bits/stdc++.h>

用法:  

        int i = 123;

        stringstream ss;

        ss<<i;

        string b=ss.str();   //string要头文件#include <string.h>,万能头文件不需要加

        

2. 使用 to_string (C++11及以上)

C++11引入了 std::to_string,它可以方便地将整数转换为字符串。

用法: 

        int i = 123;

        string b = to_string(i);

3.手动编写转换函数string intToString(int num)

#include <iostream>

#include <vector>

#include <algorithm>  // 包含 reverse

using namespace std;

string intToString(int num) {

    if (num == 0) return "0";  // 处理 0 的特殊情况

    vector<char> result;  // 用于存储每一位的字符

    bool isNegative = num < 0;

    if (isNegative) num = -num;  // 处理负数

    // 提取每一位数字

    while (num > 0) {

        result.push_back('0' + num % 10);  // 获取当前位数字的字符并存储

        num /= 10;  // 去掉当前位

    }

    if (isNegative) result.push_back('-');  // 如果是负数,添加负号

    // 反转存储的字符,得到正确的顺序

    reverse(result.begin(), result.end());

    // 构建并返回最终的字符串

    return string(result.begin(), result.end());

}

int main() {

    int num = -12345;

    string str = intToString(num);

    cout << "转换后的字符串是 " << str << endl;

    return 0;

}

4. 使用 C 风格的 sprintf 来将整数转换为字符串

#include <iostream>

#include <cstdio>  // 必须包含 cstdio 头文件

using namespace std;

int main() {

    int num = 123;

    char str[20];  // 存储转换后的字符串

    sprintf_s(str, "%d", num);  // 使用 sprintf 将整数转换为字符串

    cout << "转换后的字符串是 " << str << endl;

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值