c語言16進制轉字元串
發布時間: 2023-06-09 11:47:55
Ⅰ C語言程序,怎麼把16進制轉成字元:
我想你的問題只是將數字轉換為字元對吧,那麼我就不幫你做全文多行的源碼了,我做了一行轉換的,你可以再在外層嵌套一個循環,並使用二維數組來實現全文多行的ASCII碼轉換:
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
int num[10],i=0;
while(getchar() != '\n')
{
getchar();
scanf("%x",&num[i]);
printf("%c",num[i]);
i++;
}
getch();
return 0;
}
原理是這樣的:
你每次的四個位元組的格式都是\xyy的形式,我只要讀入那個十六進制數就可以了,用scanf("%x",&num[i]);語句就可以讀入十六進制數字,將一行的十六進制數在循環中全部取出存放在一維數組中。
在輸出方面我投了個懶,直接讀入就輸出了,不過這個不是關鍵了,關鍵是以printf("%c",num[i]);語句輸出,編譯器就會自行把十六進制數轉換為ascii碼所對應的字元並輸出。
現在你明白了么,就是以格式化的輸入輸出實現讀入的是十六進制數,輸出的是字元。(那兩個getchar()是分別讀入字元\和x的哈~~)
熱點內容