比如char string[]=“{Temeprature=25.61,Humidity=15.62}”,用printf("%02X",string)輸出出來是407A40,其一,輸出不完全,其二并
不是{Temeprature=25.61,Humidity=15.62}的ASCII hex形式,
{Temeprature=25.61,Humidity=15.62}全部按ASCII hex轉換應該是
0x7b 0x54 0x65 0x6d 0x65 0x70 0x72 0x61 0x74 0x75 0x72 0x65 0x3d 0x32 0x35 0x2e 0x36 0x31 0x2c 0x48 0x75 0x6d 0x69 0x64 0x69 0x74 0x79 0x31 0x35 0x2e 0x36 0x32 0x7d,
目前在網上找到的歷例程,對于{}、,,.這樣的符號都沒法轉換,請問各位有能將字串以其hex形式列印出來的例程嗎?謝謝


流向如圖一,請問各位大佬如何實作0 0
對于數字,我知道 字串-0x30就可以得到,那對于這種帶符號{}的怎么解決呢?謝謝
uj5u.com熱心網友回復:
回圈一個一個字符地列印uj5u.com熱心網友回復:
char *p=string;while(*p)printf("0x%02x ",*p++);
uj5u.com熱心網友回復:
你基礎不是很牢。。 string 是陣列,如果不帶下標作為引數時,類似于指標 傳遞的是元素的首地址。 要傳值使用string[下標]。在講講printf
里面的
"%02X" "%s" "%d" 分別會把引數以不同的形式讀取(作為指標,或直接是資料) 其中"%02X" ,"%d" 是資料形式讀取, "%s" 是作為指標形式。
要實作的話可能就需要回圈。
改正:
char string[]= "{Temeprature=25.61,Humidity=15.62}";
for(int len=0;len <sizeof(string); len++)
{
printf("0x%02X ",string[len]);
}
uj5u.com熱心網友回復:
綜合上面1# 2# 3# 樓的,供參考://C中怎么把字串用其ASCII hex形式列印出來
//比如char string[]=“{Temeprature=25.61,Humidity=15.62}”,用printf("%02X",string)輸出出來是407A40,
//其一,輸出不完全,其二并不是{Temeprature=25.61,Humidity=15.62}的ASCII hex形式,{Temeprature=25.61,Humidity=15.62}
//全部按ASCII hex轉換應該是0x7b 0x54 0x65 0x6d 0x65 0x70 0x72 0x61 0x74 0x75 0x72 0x65 0x3d 0x32 0x35 0x2e 0x36 0x31
// 0x2c 0x48 0x75 0x6d 0x69 0x64 0x69 0x74 0x79 0x31 0x35 0x2e 0x36 0x32 0x7d,
//目前在網上找到的歷例程,對于{}、,,.這樣的符號都沒法轉換,請問各位有能將字串以其hex形式列印出來的例程嗎?謝謝
#include <stdio.h>
#include <string.h>
int main()
{
char string[]="{Temeprature=25.61,Humidity=15.62}";
char *p=string;
while(*p)printf("0x%02x ",*p++);//指標
printf("\n");
for(int len=0;len <sizeof(string); len++)//string 是陣列,要傳值使用string[下標]。
{
printf("0x%02X ",string[len]);
}
return 0;
}
//輸出:
//0x7b 0x54 0x65 0x6d 0x65 0x70 0x72 0x61 0x74 0x75 0x72 0x65 0x3d 0x32 0x35 0x2e 0x36 0x31 0x2c 0x48 0x75 0x6d 0x69 0x64 0x69 0x74 0x79 0x3d 0x31 0x35 0x2e 0x36 0x32 0x7d
//0x7B 0x54 0x65 0x6D 0x65 0x70 0x72 0x61 0x74 0x75 0x72 0x65 0x3D 0x32 0x35 0x2E 0x36 0x31 0x2C 0x48 0x75 0x6D 0x69 0x64 0x69 0x74 0x79 0x3D 0x31 0x35 0x2E 0x36 0x32 0x7D 0x00 請按任意鍵繼續. . .
uj5u.com熱心網友回復:
非常感謝。在下確實剛剛接觸編程uj5u.com熱心網友回復:
非常感謝您。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260195.html
標籤:C語言
上一篇:未定義ComboBox_ResetContent()
下一篇:求助
