int 转 char 、string c++

一个数(而不是一个数字) 如何转为char str[]:
直接上代码前,先对 用到的函数做一下说明。

int sprintf ( char * str, const char * format, … );
//将格式化的数据写入字符串

官方文档解释说,
str参数:
指向所产生的C(c++)字符串的一个字符数组的指针。

const char* format 参数:
包含要写入缓冲区的文本的字符串。它可以选择性地包含被替换的值,这些标签被随后的参数中指定的值所替代,并按要求格式化。

附加参数:
取决于格式字符串,函数可以期望一个附加参数的序列,每个包含一个值被插入,而不是每一个指定的格式参数中指定的标签,如果有。应该有相同数量的这些参数,作为期望值的“%”标签的数量。

int 返回值:
返回的字符总数。此计数不包括在字符串的结尾自动添加的附加的空字符。在故障时,返回一个负数。

sprintf () 简单应用:

/* sprintf example */
#include <stdio.h>

int main ()
{
  char buffer [50];
  int n, a=5, b=3;
  //返回字符串个数
  n=sprintf (buffer, "%d plus %d is %d", a, b, a+b);
  printf ("[%s] is a %d char long string\n",buffer,n);
  return 0;
}

Output:
[5 plus 3 is 8] is a 13 char long string
结果

下面正式上代码:
int ->char[]、string

#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;

int main()
{
    int n = 65535;
    char t[256];
    string s;

//转换 int -> char*
    sprintf(t, "%d", n);
    s = t;      // char* -> string

//打印结果
    for(int i = 0;i < 6; i++)
    cout <<t[i]<<endl;
    cout << s << endl;

    return 0;
}

结果为:
这里写图片描述

另一种方法:

#include <iostream>
#include <string>
#include <strstream>
using namespace std;

int main()
{
    int n = 65535;
    strstream ss;
    string s;
    ss << n;
    ss >> s;
    cout << s << endl;

    return 0;
}

输出为:
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值