首页 > 后端开发 > C++ > 正文

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

PHPz
发布: 2023-09-03 22:05:03
转载
3792 人浏览过

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 的最后一种方法需要辅助字符或字符串缓冲区来将整数值转换为字符串。最快的方法是第一种,但如果由于编译器过时而不起作用,那么其他两种方法应该可以。

以上是C++程序将int类型变量转换为字符串的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!