C++ ASCII转字符函数

来源:百度知道 编辑:UC知道 时间:2024/05/26 05:34:08
如何将ASCII转换成字符
#incl...
ifstream..
ofs.....
int main(){
int a;
char b;
inf>>a;
???????????
outf<<b;
return 0;
}
要是个数组呢?即char b[2];将a赋到其中一个元素上

#include <stdio.h>
char* convert(char p[])
{
int i=0;
while(p[2*i]!='\0'&&p[2*i+1]!='\0')
{
char c = p[2*i];
if(c<='9')
p[i] = (c-'0')<<4;
else if(c<='F')
p[i] = (c-'A'+10)<<4;
else
p[i] = (c-'a'+10)<<4;
c = p[2*i+1];
if(c<='9')
p[i] += (c-'0');
else if(c<='F')
p[i] += (c-'A'+10);
else
p[i] += (c-'a'+10);
i++;
}
p[i] = '\0';
return p;
}
void main()
{
char judge[] = "3331326120C7B0baf3";//只能是字符串的ASCII码形式的数据,舍去0x前缀和空格等
printf("转换前:[%s]\n",judge);
printf("转换后:[%s]\n",convert(judge));
}

转换前:[3331326120C7B0baf3]
转换后:[312a 前后]
参考资料: