首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++将char数组转换成字符串的方法

2013-07-23 
C++求一个将char数组转换成字符串的方法例如,char buf[] {0xFF,0xB4}转换得到:string str FFB4求

C++求一个将char数组转换成字符串的方法
例如,

char buf[] = {0xFF,0xB4};
转换得到:
        string str = "FFB4";
求大侠指点!!!
[解决办法]


#include <stdio.h>


int main(int argc, char** argv)
{
char buf[] = {0xFF,0xB4};
char ret[128];
int offset = 0;
for (int i = 0; i < sizeof (buf); i++)
{
offset += sprintf(ret + offset, "%X", (unsigned char)buf[i]);
}
fprintf(stdout, ret);
getchar();
return 0;
}


[解决办法]

#include <stdio.h>


int main(int argc, char** argv)
{
char buf[] = {0xFF,0xB4,0x03};
char ret[128];
int offset = 0;
for (int i = 0; i < sizeof (buf); i++)
{
offset += sprintf(ret + offset, "%02X", (unsigned char)buf[i]);
}
fprintf(stdout, ret);
getchar();
return 0;
}



[解决办法]
#include <iostream>
#include <sstream>
#include <iomanip>
using namespace std;

int main()
{
char buf[] = {0xFF, 0xB4, 0x0c};
ostringstream oss;
oss << setiosflags(ios::uppercase) << hex; //大写16进制
oss.fill('0'); //不满位数填充0
for (int i = 0; i < sizeof buf; i++)
{
unsigned char c = buf[i];
oss << setw(2) << (int)c; 
}
string result = oss.str();
cout << result;
return 0;
}

热点排行
Bad Request.