C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  117 Posts :: 2 Stories :: 61 Comments :: 0 Trackbacks

常用链接

留言簿(8)

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

2、 其他数据类型转换为字符串

      2.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.2 long转换为字符串

      long是转换字符串函数,系统函数库为此提供了函数_ltoa, _ltow。其函数原型如下:

         char *_ltoa(long value, char *stringint radix);
         wchar_t 
*_ltow(long value, wchar_t *stringint 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;
}

      2.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;
}

      2.4 日期类型转换为字符串

      将以日期格式转换为字符串,利用了格式化函数,参考代码如下

      还有,整理一下与日期相关的操作,也就是time.h的,其随笔地址如下:
      http://www.cppblog.com/kangnixi/archive/2010/01/27/106555.html


如果还想获得更多关于《Visual C++代码参考与技巧大全》的内容,可点击下面网址,

http://www.cppblog.com/kangnixi/archive/2010/01/13/105591.html

posted on 2010-01-27 12:43 烟皑 阅读(1701) 评论(0)  编辑 收藏 引用 所属分类: 《Visual C++代码参考与技巧大全》学习笔记

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理