卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章17236本站已运行3325

C++程序将int类型变量转换为字符串

C++程序将int类型变量转换为字符串

C++ 中的整数类型变量能够存储预定义范围内的正整数值或负整数值。字符串变量可以存储字母、数字和特殊字符的序列。有许多用例需要从 int 转换为 string。我们讨论 3 种将整数变量转换为字符串的不同方法。

如果我们讨论算法,那就非常简单了。我们在整数变量中获取输入,然后将其转换为字符串变量。

使用 to_string 函数

C++ 中将整数值转换为字符串的最简单方法是使用 to_string 函数。 to_string 函数默认可用;它接受一个整数值作为输入并提供一个字符串值作为输出。我们看一下下面的例子来进一步理解这个概念。

语法

'
int ip = <integer value>;
string op = std::to_string(ip);

算法

  • 在整数变量中获取输入。
  • 使用 to_string 函数将整数值转换为字符串并将其存储在字符串变量中。
  • 显示结果。

示例

'
#include <iostream>
using namespace std;
string solve(int ip) {
   //using the to_string function
   return to_string(ip);
}
int main()
{
   int ip = 10;
   string op = solve(ip);
   cout<< "The input value is: " << ip << endl;
   cout<< "The output value is: " + op << endl;
   return 0;
}

输出

'
The input value is: 10
The output value is: 10

在此示例中,我们使用 to_string 函数将整数值转换为字符串。显示输出时需要注意的一点;我们使用插入运算符 (

使用 ostringstream

ostringstream 是包含字符序列的字符串缓冲区。在该方法中,我们将整数值输入到 ostringstream 对象中,然后将其格式化为字符串。

语法

'
int ip = <integer value>;
ostringstream oss;
oss << ip;
string op = oss.str();

算法

  • 在整数变量中获取输入。
  • 将输入整型变量传递给 ostringstream 对象。
  • 将 ostringstream 对象的字符串表示形式分配给字符串输出变量。
  • 显示结果。

示例

'
#include <iostream>
#include <sstream>

using namespace std;
string solve(int ip) {
   //using ostringstream
   ostringstream oss;
   oss << ip;
   return oss.str();
}

int main()
{
   int ip = 10;
   string op = solve(ip);

   cout<< "The input value after addition of 10 is: " << ip + 10 << endl;
   cout<< "The output value after addition of 10 is: " << op + "10" << endl;
   return 0;
}

输出

'
The input value after addition of 10 is: 20
The output value after addition of 10 is: 1010

在前面的示例中,我们在输入值中添加了一个整数值 10 以表明它是一个整数值,并在输出值中添加了一个字符串“10”以表明它是一个字符串值。

使用 sprintf

sprintf 是 C++ 中的标准库函数,它将格式化输出发送到字符串 str。使用 sprintf 函数,我们可以将整数转换为字符串。

语法

'
int ip = <integer value>;
char str[100];
sprintf(str, "%d", ip);
string s = str;

算法

  • 在整数变量中获取输入。
  • 将输入整型变量和字符缓冲区传递给 sprintf 函数。
  • 将字符缓冲区分配给结果字符串变量。
  • 显示结果。

示例

'
#include <iostream>
using namespace std;
string solve(int ip) {
   char str[100];
   sprintf(str, "%d", ip);
   string s = str;
   return s;
}

int main()
{
   int ip = 10;
   string op = solve(ip);
   cout<< "The input value after addition of 10 is: " << ip + 10 << endl;
   cout<< "The output value after addition of 10 is: " << op + "10" << endl;
   return 0;
}

输出

'
The input value after addition of 10 is: 20
The output value after addition of 10 is: 1010

这个例子和前面的例子类似,唯一不同的是转换方法。要使用 sprintf,我们不需要导入任何其他库。

结论

我们可能需要在各种场合将整数转换为字符串,主要是使用仅支持字符串参数的函数从计算中输出数据。我们讨论的第一种方法是最简单的,但它可以从 C++ 11 版本开始使用。使用 ostringstream 的第二种方法需要导入另一个库 sstream,而使用 sprintf 的最后一种方法需要辅助字符或字符串缓冲区来将整数值转换为字符串。最快的方法是第一种,但如果由于编译器过时而不起作用,那么其他两种方法应该可以。

卓越飞翔博客
上一篇: 新课程发布:快速入门Laravel 4
下一篇: 返回列表

相关推荐

留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏