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;
}
这样子输出的b226
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());

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。