1.int转换为字符串
把“整数”转换为“字符串”的函数有:
_itoa(……)转换整型数据,
_i64toa(……)转换64位整型数据,
_ui64toa(……)转换无符号64位整型数据,
_itow(……),_i64tow(……),_ui64tow(……)。
函数的原型如下:
char *_itoa(
int value,
char *string,
int radix
);
char *_i64toa(
_int64 value,
char *string,
int radix
);
char *_ui64toa(
unsigned _int64 value,
char *string,
int radix
);
wchar_t *_itow(
int value,
wchar_t *string,
int radix
);
wchar_t *_i64tow(
_int64 value,
wchar_t *string,
int radix
);
wchar_t *ui64tow(
unsigned _int64 value,
wchar_t *string,
int radix
);
参数的意义:value是指要转换的整数,string是用来存放转换后结果的变量,radix是用来说明转换成几进制的数据,默认值是十进制数的。转换的进制范围是二进制到三十六进制。
实例代码:
#include"stdafx.h"
#include<stdlib.h>
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
int iii=123456789;
char ii[12];
itoa(iii,ii,10);//int转换为字符串,十进制
int i;
for(i=0;i<=12;i++)
{
cout<<"ii["<<i<<"]="<<ii[i]<<endl;
}
int iii2=12;
char ii2[6];
itoa(iii2,ii2,2);//int转换为字符串,二进制
for(i=0;i<=6;i++)
{
cout<<"ii2["<<i<<"]="<<ii2[i]<<endl;
}
return 0;
}
2.long转换为字符串
long是转换字符串函数,系统函数库为此提供了函数_ltoa, _ltow。其函数原型如下:
char *_ltoa(long value, char *string, int radix);
wchar_t *_ltow(long value, wchar_t *string, int radix);
其中,参数value为被转换的值,参数string为字符串缓冲区,radix为进制。
代码参考如下:
#include"stdafx.h"
#include<stdlib.h>
#include<string.h>
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
long l_num=100;char temp[10];
/********************/
/*void *memset(void *s,int c,size_t n)
/*总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。
/*#include<string.h>
/********************/
memset(temp,0,10);
ltoa(l_num,temp,10);//#include<stdlib.h>里面
for(int i=0;i<=10;i++)
{
cout<<"temp["<<i<<"]="<<temp[i]<<endl;
}
return 0;
}
3.double转换为字符串
float转换字符串,系统提供了函数_fcvt来实现这个功能,其函数原型如下:
char *_fcvt(double value, int count, int *dec, int *sign);
其中参数value为双精度数,参数count为转换的小数点后面的位数,dec表示小数点的位置,sign表示符号。代码参数如下:
#include "stdafx.h"
#include<stdlib.h>
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{
int decimal,sign;
char *buffer;
double source=3.1415926535;
buffer=_fcvt(source,7,&decimal,&sign);
cout<<"source="<<source<<endl;//cout默认输出浮点数的前六位
cout<<"buffer="<<buffer<<endl;
cout<<"decimal="<<decimal<<endl;
cout<<"sign="<<sign<<endl;
return 0;
}
4.日期类型转换为字符串
Reference:http://www.cppblog.com/kangnixi/archive/2010/01/27/106555.html