其他数据类型转换为“字符串”

2021/10/17 6:11:33

本文主要是介绍其他数据类型转换为“字符串”,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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



这篇关于其他数据类型转换为“字符串”的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程