-1
有没有办法在处理c样式字符串或char数组时正确处理NUL字符?在处理char数组时处理NULL char的正确方法
int myint;
char stringa[4];
memset(stringa, 0x0, 4);
memset(stringa, ' ', 3);
stringa = getValueS();
myint = getValue();
char stringint[4];
memset(stringint, 0x0, 4);
memset(stringint, ' ', 3);
itoa(myint, stringint, 10);
char finals[7];
memset(finals, 0x0, 7);
memset(finals, ' ', 6);
memcpy(&finals[3], stringint, 3);
memcpy(&finals[0], stringa, 3);
决赛给出 “0”
stringint给出 “0”
stringa给出 “0”
预期收益 “0”
“0”!= NULL。 ''\ 0''是char数组中的空字符,不能打印出来,因为它是一个NULL字符 - 没有什么可打印的。 – 2014-11-09 00:35:40
你的意思是“0x0”!= NULL? – lock 2014-11-09 00:37:26
是的,这正是我的意思。字符数组中的NULL字符是'\ 0',就像我在上一条评论中所写的那样。我不确定我在这里不清楚。 '0x0'!='\ 0',要么。 '((0x0 == 0)&&(0x0!='\ 0'))' – 2014-11-09 00:38:20