-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