printf("\en") 하면 이상한 문자로 바뀌는데...

kang1의 이미지


printf("\enter");

함수를 사용하면 화면이 이상한 문자로 바뀌어 버리내요~

마치 dos시절에 한글문자가 영문코드로 바뀔때 나타나는 현상...

#i+c++de <_+di-.h>

i++ +ai+()
{
-_i++f("\e+");
_e++_+ 0;

혹시 다른분들도 그러나요? \en이라는게 어떤 특수한 동작을 하는건지..??

wjdghk26의 이미지

정말이네요..ㅋㅋ 가서 똑같이 하고 컴파일 했더니..

다음부터 vim으로 여는 파일 마다 이상한 문자가 찍혀 있다는..ㅋㅋ

이거 뭐죠?? ^^;; 신기하네...

터미널 껏다가 켜니까 정상으로 돌아 오긴하는데...움...

그냥 단순한 printf같아 보이는데...ㅋㅋ

----------------------

5%성장은 불가능해도 30%성장은 가능하다

5%성장은 불가능해도 30%성장은 가능하다

lifthrasiir의 이미지

많은 컴파일러에서 (표준은 아니지만) \e는 \x1e와 같은 문자입니다. 이 문자는 많은 터미널에서 특수한 용도(색깔을 바꾸거나)로 예약되어 있기 때문에 잘못 쓰면 화면이 깨질 수 있습니다.

http://invisible-island.net/xterm/ctlseqs/ctlseqs.html 를 보니 \en에 배당된 코드가 실제로 있나 보네요.