2009-07-22 2 views

답변

4

시도 :이 비록

#define bla '\xA' 

memcpy 작업을 중지합니다.

+0

빙고. 그래서 ""사용하면 문자가 인 null로 끝나는 배열이 생성되고 사용자 인 경우 'char'처럼 처리됩니다. –

+0

@Roman 예 - 그러나 이것은 #define –

+0

과 아무 관련이 없습니다. 그러나'memset()'가 작동합니다. –

5

유형은 다른 같습니다 [1] \ 숯불과 "입니다 xA "는 char 배열입니다.

C++과 C에서 큰 따옴표 (아무것도 포함하지 않음)로 묶인 것은 char 배열입니다.

+0

예 char에 char [1]이 할당되어야합니까? 왜 char [2] 배열입니까? –

+1

끝 부분에 암시 적으로 종료 영숫자 (U + 0000)가있는 문자열을 선언하므로 "x"는 x와 \ 0의 두 문자입니다. – Joey

+0

\ xA는 단일 바이트로 취급됩니다. 즉 bla는 단일 바이트 (문자) 배열? \t \ xA는 단일 바이트로 처리됩니다. 즉 bla는 단일 바이트 (char) 배열이어야합니다. - Roman M 0 초 전 [이 주석 삭제] –

관련 문제