64,654
社区成员
发帖
与我相关
我的任务
分享
void char2Hex(char c ) /*将字符以16进制表示*/
{
unsigned char ch,cl;
if(!(c & 0x80))
{
ch = c/0x10 + '0'; if( ch > '9' )
ch += ('A'-'9'-1);
cl = c%0x10 + '0'; if( cl > '9' )
cl += ('A'-'9'-1);
printf("%c%c",ch,cl);
}
else
{
ch=c;
printf("%c",ch);
}
}
void main()
{
int i;
char str[] = "I love 中国";
for(i=0; i <strlen(str); ++i )
char2Hex( str[i] );
printf("\n");
}
#include "stdlib.h"
void char2Hex( char c ) /* 将字符以16进制表示*/
{
unsigned char ch,cl;
ch = c/0x10 + '0'; if( ch > '9' ) ch += ('A'-'9'-1);
cl = c%0x10 + '0'; if( cl > '9' ) cl += ('A'-'9'-1);
printf("%c%c",ch,cl);
}
main()
{
int i;
unsigned char str[] = "I love 中国";
for(i=0; i <strlen(str); i++)
char2Hex(str[i]);
printf("\n");
}
//问题1,不说了,搜搜以前的帖子
//问题2,可以这么写
#include <iostream>
using namespace std;
void char2Hex(char c ) // 将字符以16进制表示
{
unsigned char ch,cl;
if(!(c & 0x80))
{
ch = c/0x10 + '0'; if( ch > '9' )
ch += ('A'-'9'-1);
cl = c%0x10 + '0'; if( cl > '9' )
cl += ('A'-'9'-1);
std::cout << ch << cl << ' ';
}
else
{
ch=c;
cout<<hex;
cout<<(int)ch<<' ';
}
}
void main()
{
char str[] = "I love 中国";
for( size_t i=0; i <strlen(str); ++i )
char2Hex( str[i] );
cout << endl;
}