본문 바로가기
반응형

전체 글284

리눅스 로케일 세팅 http://kldp.org/node/59797 gcc aa.c -o aa -lncursesw 쉘에서의 로케일과 프로그램의 로케일이 다르기 때문에, 프로그램 안에서도 로케일을 세팅해 줘야 한글이 제대로 나오게 됩니다. 또, 라이브러리의 차이점은 ncursesw -> utf8, euckr 둘다 지원 ncurses -> euckr 지원 wchar를 지원해주고 않해주고의 차이입니다. 따라서 ncursesw 는 utf8이 지원이 되고, ncurses는 utf8이 지원이 않되는 것입니다. 따라서 코딩은 다음과 같이 해주면 해결이 될것입니다. getenv("LANG" )으로 쓰시면 편할것으로 예상됩니다. ko_KR.utf8 로 하시면 utf8로 나올것이고, ko_KR.eucKR 로 하시면 euckr로 나올것입니다... 2010. 8. 11.
리눅스 curses.h 설명 [리눅스프로그래밍]6.Curses Curses Curses를 사용한 프로그램의 컴파일 방법 끝에 '-lncurses'를 추가해서 컴파일한다. 개념 stdscr구조체는 표준화면이다. stdout와 비슷하다고 할 수 있다. 윈도우에 대한 출력은 refresh를 호출하기 전까지는 실제 화면에 나타나지 않는다. curses 라이브러리는 stdscr과 curscr을 비교해서 수행한다. curses 프로그램에서 문자출력처리는 (1)curses함수를 사용하여 논리적인 화면을 갱신하고, (2)curses에게 요청하여 물리적인 화면을 refresh로 갱신한다. curses 프로그램은 실제 사용 이전에 initscr로 라이브러리를 초기화하여야 하며, 사용 이후에는 endwin으로 설정을 복구하도록 해야 한다. 기본적인 출.. 2010. 8. 11.
리눅스 curses.h 사용 예 curses 의 간단한 사용예 #include #include #include #include #include //이동 삽입 특성 등의 실습 예 int main() { const char witch_one[]=" First Witch "; const char witch_Two[]=" Second Witch "; const char * scan_ptr; int i,j; initscr(); move(5,15); //=========문자의 특성을 켠다 attron(A_BOLD);// 2010. 8. 11.
전역변수&extern - 프로그래머의 [적] 전역변수 - 안녕하세요.. extern에 대해 고민이 많으시군요.. 한때, 저도 고민 많이 햇답니다.. extern 2010. 8. 11.
char ch = getchar();의 문제의 원인 많은 분이 잘못 생각하시고 있는 부분이 있는데, char ch = getchar();의 문제의 원인은 char가 signed인지 unsigned인지와 전혀 관련이 없습니다. 단지 문제의 결과 발생하는 현상이 char가 signed일 때와 unsigned일 때가 다를 뿐입니다. 자세히 설명하자면, 정상적인 경우: 맨페이지를 보면 getchar() 함수는 결과값을 unsigned char로 읽어서 int형으로 캐스팅한 결과를 리턴한다고 하고 있습니다. 결과를 제대로 int형으로 받으면 0 ~ 255의 정상적인 결과와 EOF라는 에러를 저장할 수 있습니다. 문제의 원인: getchar() 함수는 257가지의 결과가 존재합니다. (256가지 정상적 결과 + EOF) 이 범위는 (signed이든 unsigned이.. 2010. 8. 11.
getc(), getch(), getchar() 카페 > 임베디드 시스템(Device.. | 별빛 http://cafe.naver.com/devctrl/1762 getchar()는 조금 조심스럽게 사용해야 한다. 실제적으로 반환하는 적당한 데이타는 8비트 char 타입이지만, 데이타를 받을 타입은 int 타입이어야 한다. 왜냐하면 8비트 데이타를 반환받고 나면 에러를 검출할 방법이 없기 때문이다. int 타입이 16비트나 32비트이기 때문에 EOF = (-1)을 에러의 검출에 사용할 수 있다. 그러므로 putchar()를 호출하기 전에 EOF를 먼저 테스트해야 한다. (-1)을 putchar()에 넘기면 문제는 일어나지 않는다. 이유는 (-1) = 255이고 255번 문자는 phantom space로 불리는 문자가 화면에 찍히고 이것은 정확히 "공백 .. 2010. 8. 11.
반응형

바로가기