我通常使用指针通过以下方式如何使用十六进制表示法将值赋给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