[C++] \0(null) 문자 화면표시 질문입니다.
글쓴이: gyxor / 작성시간: 토, 2004/04/24 - 2:56오후
#include<iostream> #include<fstream> using namespace std; int main() { ofstream file("data.txt",ios::out); file << "\0abc"; file << '\0' << "abc"; return 0; }
null문자를 파일에 저장했습니다.
그런데.. '\0' 로 하게 되면 널문자를 공백으로 취급합니다.
abc로 저장되고
"\0"로 하게 되면..
abc로 저장이 됩니다.
첫째,
왜..작은 따옴표와 큰따옴표에 따라서 null문자의 의미가 달라지나요?
설명부탁드립니다.
둘째,
0xod 나 0x0a 는 각각 케리지 리턴 과 라인피드 라서 화면에 출력은 안되도
줄의 처음으로 커서를 옮기고 줄바꿈을 해주는 역할을 합니다.
그렇다면 \0 문자의 경우엔 화면에 아무것도 출력이 안되는것인가요?
갑자기 헷갈립니다.
두가지 답변부탁드립니다.
Forums:
음...NULL값은..
이것은 문자의 처리와 문자열의 처리방식 때문에 그런것 같군요.
문자열일 경우는 NULL문자전까지 저장함으로 NULL문자가 포함되서 저장이 되지 않았으며
문자인경우는 넣어지도록 내부에서 처리되는 것 같습니다.
이것은 으음..에디터 마다 처리방식이 틀려서 그런것 같습니다 vi에서는 잘보입니다 ^@ 이렇게 생긴놈으로요.
galadriel in the tower of elves
제가 한가지를 잘못 봤습니다.file << "\0abc";
제가 한가지를 잘못 봤습니다.
file << "\0abc";
이럴때 abc가 입력이 되는것이 아니라
문자열 입력시 delimeter로 널문자가 쓰여서..
아무것도 입력이 안되는것이었는데요..
제 실수까지 감안해서 정확하게 알려주셔서 감사합니다..^^;
널 문자를 저장한다는것은 '\0'을 의미하는것이고 또한
표현되는 문자가 있군요..
평소에 신경안썼던 부분인데.. 알게 되서 감사드립니다.
댓글 달기