編寫兩個函數 - 一個將ascii轉換爲十六進制,然後反之。遇到非常奇怪的事情...用printf();聲明在Asc2Hex函數中註釋掉,它不起作用。如果我取消註釋,它可以工作......任何想法?如果有人知道更好的方式來做這種轉換,請讓我知道。將ASCII轉換爲十六進制,反之亦然 - 奇怪問題
#include <stdio.h>
#include <string.h>
char *Asc2Hex(char *);
int main()
{
char *test = Asc2Hex("ABCDEFG");
printf("Test: %s\n",test);
}
char *Asc2Hex(char *data){
int i, len = strlen(data);
char buffer[len+1];
char *pbuffer = buffer;
//printf("String: %s\n",data);
for(i = 0; i < (len * sizeof(char)); i++){
sprintf(pbuffer+i*2, "%x",*(data+i));
}
return pbuffer;
}
doh!我不知道我是如何錯過...謝謝大家的意見。 – 2014-09-02 23:09:05