我通常使用指針通過以下方式如何使用十六進制表示法將值賦給char *?
char *ptr = malloc(sizeof(char) * 100); memset(ptr, 0, 100) ; strncpy(ptr, "cat" , 100 - 1);
但這一次,而不是使用「貓」,我想用它ASCII十六進制等價的。
貓= 0x63,0x61,0x74,0×00
我試圖
strncpy(ptr, "0x630x61" , 100 - 1);
但預期它失敗。
什麼是正確的語法?
我是否需要放一個0x00?一會兒讓我們忘記memset
,現在我需要把一個0x00?因爲在「貓」符號中,空值會自動放置。
問候
什麼是這個實際使用?這是中期利益和中期這可能會幫助驅動一個更好的答案... – Romain 2010-03-10 21:35:55
這是有關一些UNICODE字符?你爲什麼想做這個? – dirkgently 2010-03-10 21:36:03
@Romain這個問題一直在問(但很難搜索) - 我懷疑問題的深刻誤解 – 2010-03-10 21:37:31