C++中如何将整型变量转换为字符串

inti=1;stringstr="结果:";stringstr2;str2=str+i;cout<<str2;这样明显行不通,整型变量不能直接和字符串相加,如何把整型变... int i=1;
string str="结果:";
string str2;
str2=str+i;
cout<<str2;
这样明显行不通,整型变量不能直接和字符串相加,如何把整型变量转换成字符串后再与另一个字符串相加?
展开
 我来答
风若远去何人留
推荐于2018-12-31 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450103
专业C/C++软件开发

向TA提问 私信TA
展开全部
有如下两种常用方法。

一、可以通过调用C库函数itoa实现。
1 原型。
char*itoa(int value,char*string,int radix);
2 头文件。
stdlib.h

3 功能。
将value的值,转换为字符串,并存到string中,如果转化后的字符串长度超过radix,那么只存radix位。

4 样例。
int i=1234;
char buf[10];
itoa(i, buf, 10);

执行后buf内容为字符串"1234"。

二、通过sprintf格式化输出到字符串中。
itoa并不是C语言标准库函数,所以并不是每个平台均支持该函数。当不支持时,可以用sprintf函数来达到同样效果。
1 原型。
int sprintf( char *buffer, const char *format, [ argument] … );
2 头文件。
stdio.h
3 功能。
类似于printf,根据格式化字符串format,将后续参数列表中的参数逐个输出。不过输出目标不是标准输出终端,而是字符串buffer。
4 样例。
int i=1234;
char buf[10];
sprintf(buf,"%d",i);

执行后buf内容同样为字符串"1234"。
Program120
2017-07-13 · TA获得超过131个赞
知道小有建树答主
回答量:93
采纳率:66%
帮助的人:46.6万
展开全部
有如下两种常用方法。

一、可以通过调用C库函数itoa实现。
1 原型。
char*itoa(int value,char*string,int radix);
2 头文件。
stdlib.h

3 功能。
将value的值,转换为字符串,并存到string中,如果转化后的字符串长度超过radix,那么只存radix位。

4 样例。
int i=1234;
char buf[10];
itoa(i, buf, 10);

执行后buf内容为字符串"1234"。

二、通过sprintf格式化输出到字符串中。
itoa并不是C语言标准库函数,所以并不是每个平台均支持该函数。当不支持时,可以用sprintf函数来达到同样效果。
1 原型。
int sprintf( char *buffer, const char *format, [ argument] … );
2 头文件。
stdio.h
3 功能。
类似于printf,根据格式化字符串format,将后续参数列表中的参数逐个输出。不过输出目标不是标准输出终端,而是字符串buffer。
4 样例。
int i=1234;
char buf[10];
sprintf(buf,"%d",i);

执行后buf内容同样为字符串"1234"。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terranlong
推荐于2017-09-05 · TA获得超过7293个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:3946万
展开全部
可以用itoa函数将整型转换为字符串

#include <string>
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int i=1;
string str="结果:";
string str2;
char buf[10];
itoa(i, buf, 10);
str2=str+buf;
cout<<str2;
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东东知识点
2012-07-13
知道答主
回答量:13
采纳率:100%
帮助的人:1.3万
展开全部
char *itoa(int value, char *string, int radix);
  int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等
  头文件: <stdlib.h>

程序例:
  #include <stdlib.h>
  #include <stdio.h>
  int main()
  {
  int number = 123456;
  char string[25];
  itoa(number, string, 10);
  printf("integer = %d string = %s\n", number, string);
  return 0;
  }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
carlshe
2011-10-22 · TA获得超过321个赞
知道小有建树答主
回答量:402
采纳率:100%
帮助的人:391万
展开全部
int ii;

string ss = ii.ToString("Dn");

注意格式串:Dn,其中n为字符串的字符个数,不足则前面补0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式