|
정상입니다!
char szPizza[16] = ""; <- szPizza[0] 에다가 0(NULL)을 넣으라는 것과 마찬 가지입니다.
님께서 szPizza를 문자열로써 이용하시는 것으로 보이는데 문자열로 사용하려는 변수라면
제대로 하신것입니다.
C 또는 C++에서는 문자열의 끝을 NULL로써 인식하도록 정의되어 있습니다.
VC에서 그렇게 보인다면 VC에서는 szPizza[0] 값이 NULL이므로 더이상 표시를 하지 않은 것이구요.
빌더에서는 szPizza가 가리키는 메모리의 내용을 보여주는 것이므로 0번째부터 지정하는 값까지
모든값을 보여주게 되어 있는 차이일 뿐입니다.
szPizza를 printf나 AnsiString 또는 String으로 표시하면 아무것도 나오지 않게 됩니다.
도움이 되었기를...
이재득 님이 쓰신 글 :
: 안녕하세요
:
: char szPizza[16] <- 이 녀석을 초기화 할려고 합니다.
:
: VC 에서는
: char szPizza[16] = ""; <- 이렇게 하거나
: char szPizza[16] = {0,}; <- 이렇게 하거나
: memset(szPizza, 0, sizeof(szPizza));
:
: 이렇게 하면 디버그를 통해서 보면 깔끔하게 초기화 됩니다.
:
: 그런데요.. 빌더에서는 그렇지 않더라구요.
:
: 위의 방법대로 하면 디버그에서 보면 \0\0\0\0\0 <- 이게 끝도없이 들어가 있습니다.
:
: 빌더에서는 어떻게 초기화하나요? 아니면 원래 이게 정상인가요?
|