说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请问在C++中怎么把一个整数类型转成字符串类型

编辑:说三道四文库 发布时间:2018-08-19 03:55
HTML文档下载 WORD文档下载 PDF文档下载
我的程序中有一段是这样的:
CString m=“t";
int i=1;
想得到Cstring类型的t1
怎们得到?
我用
m+i.ToString();
m+(string)i;
m+i;
都不可以

望高手指点
#include <cstdlib>
using namespace std;
char *_itoa( int value, char *string, int radix );


int value=100;
char* str[10];
_itoa(value,str,10);
CString cstr(str);
CString s;
s.Format("%s%d" , m , i);
如果m是固定的,干脆这样:
s.Format("t%d" , i);
呵呵,对CString不熟,还是听斑竹的吧:)
哈哈,C#的方法搬到这里来啦。

最简单的不就是用:
char buf[20];
sprintf(buf,"%d",i);

_itoa()当然也可以,不过ANSI C++里没有这个函数,是MS加的,

Example 

/* ITOA.C: This program converts integers of various
 * sizes to strings in various radixes.
 */

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
   char buffer[20];
   int  i = 3445;
   long l = -344115L;
   unsigned long ul = 1234567890UL;

   _itoa( i, buffer, 10 );
   printf( "String of integer %d (radix 10): %s\n", i, buffer );
   _itoa( i, buffer, 16 );
   printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
   _itoa( i, buffer, 2  );
   printf( "String of integer %d (radix 2): %s\n", i, buffer );

   _ltoa( l, buffer, 16 );
   printf( "String of long int %ld (radix 16): 0x%s\n", l, 
                                                    buffer );

   _ultoa( ul, buffer, 16 );
   printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul, buffer );
}

To:micropentium6(小笨,小心翼翼的答题)
我只是想提供多种方法,好让楼主又选择的余地,^_^
给你这个十分强的强制类型装换

reinterpret_cast<char *>(& _XXXXX)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘