C++里如何将int类型的16进制数转换成string类型
浏览次数:145次悬赏分:30|解决时间:2011-9-23 20:01|提问者:qpxt
我现在的代码如下
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
int main()
{
int a = 0xe2;
string b;
ostringstream ss;
ss<<a;
b = ss.str();
cout<<b<<endl;
}
这样子输出的b是226,
226是十进制表示的e2。
但是我想让b = "e2",而不是 "226"
该怎么转呢?改写代码或者用别的方法都可以,达到目的就行
感谢各位达人!!!!!!!!!!
最佳答案
#include <afx.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a=0xffffE2;
CString b;
char c[9];
int i=0;
// cout<<(a&0xf)<<endl;
while(a!=0)
{
c[i]=a&(0xf);
if(c[i]>9)
c[i]+='a'-10;
else
c[i]+='0';
a=a>>4;
i++;
if(i==9)
break;
cstring转为int }
c[i]='\0';
b.Format("%s",c);
b.MakeReverse();//倒置,因为我们之前是从右边算到左边的
cout<<b.GetBuffer(0)<<endl;
return 0;
}
C++,如何将标准库string类转换成char[]即字符数组? |
char buf[100];
std::string str = "ssssss ";
strcpy(buf,str.c_str());
strcpy(buf,str.c_str());
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论