21xrx.com
2025-01-12 18:02:44 Sunday
文章检索 我的文章 写文章
C++ 整数转字符串
2023-07-01 05:09:48 深夜i     8     0
C++ 整数 转换 字符串 格式化输出

在C++编程语言中,整数转换为字符串是一个很常见的需求。C++提供了几种方法来实现整数转字符串的操作,包括使用标准库中的to_string函数,使用C标准库中的sprintf函数,以及手动实现。

方法一:使用标准库中的to_string函数

to_string函数可以将整数转换为字符串,它是C++11标准引入的。这是最简单的方法,代码如下:

#include <iostream>
#include <string>
int main()
{
  int num = 1234;
  std::string str = std::to_string(num);
  std::cout << str << std::endl;
  return 0;
}

运行结果为:

1234

方法二:使用C标准库中的sprintf函数

sprintf函数可以将一个格式化的字符串输出到一个字符数组中,然后可以将字符数组转换为字符串。这是一个比较老的方法,但是仍然可以使用。代码如下:

#include <iostream>
#include <cstdio>
#include <cstring>
int main()
{
  int num = 1234;
  char str[100];
  std::sprintf(str, "%d", num);
  std::cout << std::string(str) << std::endl;
  return 0;
}

运行结果为:

1234

方法三:手动实现

手动实现整数转字符串的过程比较复杂,但是可以更精确地控制输出格式。以下是一个简单的实现,可以将整数转换为10进制字符串。代码如下:

#include <iostream>
#include <string>
std::string intToStr(int num)
{
  const int MAX_LEN = 32;
  char str[MAX_LEN];
  int i = 0;
  while (num > 0 && i < MAX_LEN) {
    str[i++] = num % 10 + '0';
    num /= 10;
  }
  str[i] = '\0';
  std::string result;
  while (--i >= 0) {
    result.push_back(str[i]);
  }
  return result;
}
int main()
{
  int num = 1234;
  std::string str = intToStr(num);
  std::cout << str << std::endl;
  return 0;
}

运行结果为:

1234

以上三种方法都可以用来将整数转换为字符串,选择哪种方法取决于你的具体需求。

  
  
下一篇: C++解说微积分

评论区