C++字符串与整型互转,并按照指定进制转换

19 篇文章 1 订阅

1.整型转字符串

_ultow() and _ultoa(). 将数字_Value按照_Radix指定的进制进行转换,结果为字符串,存放在_Dest中并返回. 

Header file: stdlib.h

Functions declare:

wchar_t* _ultow(unsigned long _Value, wchar_t *_Dest, int _Radix);//将数字转成指定进制的宽字符串

char* _ultoa(unsigned long _Value, char* _Dest, int _Radix);  //将数字转成指定进制的字符串

Demo:

unsigned long i = 15;

wchar_t *wss = new wchar_t[12];

wchar_t *ans = NULL;

ans = _ultoa(i, wss, 10);    //转成10进制

wcout<<ans<<” “<<wss<<endl;

ans = _ultoa(i, wss, 16);   //转成16进制

wcout<<ans<<” “<<wss<<endl;   

ans = _ultoa(i, wss, 8);   //转成8进制

wcout<<ans<<” “<<wss<<endl;

 

char cs[12];

char *cans = NULL;

cans = _ultoa(i, cs, 10);  //转换成10进制

cout<<cans<<” “<<cs<<endl;

cans = _ultoa(i, cs, 16);  //转换成16进制

cout<<cans<<” “<<cs<<endl;

cans = _ultoa(i, cs, 8);   //转换成8进制

cout<<cans<<” “<<cs<<endl;

cans = _ultoa(i, cs, 2);   //转换成2进制

cout<<cans<<” “<<cs<<endl;

2.字符串转整型

long wcstol(const wchar_t* _Str, wchar_t** _EndPtr, int _Radix);

long strtol(const char* _Str, char ** _EndPtr, int _Radix);

意义: 将宽字节的C字符串,根据给定的基数_Radix(进制),转换为 长整型 数字;

返回值 :  函数得到的长整型数字;

参数:_Str:  输入的字符串; _EndPtr: 指向提取到的数字后的字符;如:_Str = “1234 56”, _Radix 为10,则 返回 值为1234, _EndPtr指向的字符串为" 56";_Radix:  _Str数字的进制;

例如:

char *cLongNum = "15";

long int liFromChar = strtol(cLongNum, NULL, 10); // liFromChar 的值是15

liFromChar = strtol(cLongNum, NULL, 16); // liFromChar 的值是21。这里把cLongNum的值看成16进制的,16进制下15的值是21。

wcstol用来转化宽字符串,用法同strtol。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值