21xrx.com
2024-11-22 03:52:42 Friday
登录
文章检索 我的文章 写文章
C++ 教程:将 int 转化为 string
2023-07-12 20:33:43 深夜i     --     --
C++ 教程 int string 转化

将 int 转化为 string 在 C++ 编程中是一个常见的问题,因为有时候我们需要将整数转换成字符串进行显示或者存储。下面是一些实用的方法,能够帮你完成这个转化过程。

方法一: 使用 to_string 函数

C++11 引入了 `to_string` 函数,它可以将任意数字类型转化为字符串。使用方法很简单,只需要在整数后面加上 `to_string` 即可。例如:


int num = 123;

string str = to_string(num);

这样,`str` 就是表示整数 123 的字符串。

方法二: 使用 stringstream

C++中还有另外一种方式可以将整数转换为字符串,就是使用istringstream流对象和 << 运算符重载。这个方法需要包含头文件 `#include `。示例代码如下:


#include <iostream>

#include <sstream>

using namespace std;

int main()

{

  int num = 123;

  stringstream ss;

  ss << num;

  string str = ss.str();

  cout << str << endl;

  return 0;

}

以上代码中,我们首先将整数 `num` 输入到 `stringstream` 中。然后使用 `str()` 函数从流对象中提取字符串,最后将字符串赋值给变量 `str`。

方法三: 自定义转换函数

如果你想让代码更加清晰易懂,可以使用自定义转换函数。这个函数将整数转换为字符串类型。下面是一个自定义转换函数的示例代码:


#include <iostream>

#include <cstring>

using namespace std;

string intToString(int n) {

  if (n == 0) return "0";

  bool isNegative = false;

  char buf[32] = { 0 };

  if (n < 0)

    isNegative = true;

    n = -n;

  

  int i = 30;

  for (; n && i; --i, n /= 10)

    buf[i] = "0123456789"[n % 10]; 

  if (isNegative) {

    buf[i] = '-';

    return buf + i;

  }

  return buf + i + 1;

}

int main() { 

  int num = -123;

  string str = intToString(num);

  cout << str << endl;

  return 0;

}

以上代码中,`intToString` 函数接收一个整数 `n`,并返回一个字符串。该函数首先判断整数符号,并保存到标记 `isNegative` 中。如果整数为负数,将其转换为正数。然后使用字符串缓冲区 `buf` 将整数转换为一串字符。最后将结果返回并转化为一个字符串。

以上就是使用 C++ 将整数转换为字符串的三种方法,你可以根据自己的喜好和场景来选择合适的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复