我有一个读取字符数组的程序。我需要内存中字符串的值等于十六进制 0x01020304,它们都是非 ASCII 字符。所以问题是,如何在运行时将非 ASCII 字符传递到字符串文字变量中?
使用转义序列。确保按正确的顺序放置字符。
"\x01\x02\x03\x04"
编辑:如果您需要将序列放入现有的字符数组中,只需将其分配即可。
char s[4];
// ... later ...
s[0] = 0x01;
s[1] = 0x02;
s[2] = 0x03;
s[3] = 0x04;
不要尝试通过强制转换来分配号码s
to (int32_t *)
,字符数组没有正确的对齐方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)