%%getchar()/putchar() 함수


int getchar(void);

인자 : 없음

반환값 : 입력문자 하나 OR 에러 발생시 EOF 반환

동작 : 표준입력장치(stdin)로부터 문자 한 글자를 읽어와 반환한다,

만약 표준입력장치의 버퍼가 비워있으면 입력을 받은 뒤 첫번째 문자를 반환하고

버퍼가 차있을 시 버퍼에 저장된 문자를 반환한다

*반환값이 int인 점 주의

*char와 int는 크기만 다를 뿐 같은 정수 형식이다.


int putchar(int num);

인자 : num 출력할 문자 상수

반환값 : 출력 문자 하나, 에러 발생시 EOF 반환

동작 : 표준출력장치(stdout)인 콘솔(Console)에 한 글자를 출력



%%_getch()/_getche() 함수


getchar() 함수와 사용 방법이나 기본 기능은 같지만 getchar()의 경우 버퍼에 입력 값을 저장 한 뒤 불러 오지만 

getch(), getche()함수는 어떤 키가 눌렸는지에 대해 감지하는 목적이 크다. 

즉 버퍼를 거쳐오지 않고 즉시 전달된다.(Non-buffered I/O). 

그러므로 사용자가 여러 문자를 입력한 뒤 하나씩 꺼내 처리할 수 없다. 어떤 키가 하나라도 눌리면 입력된 정보를 반환한다.

*_getch()를 사용하려면 conio.h를 include해주어야 함

*_getch()는 POSIX 표준을 준수하지 않았기 때문에 함수 이름 앞에 _를 붙여준다.



%%gets()/puts() 함수


char *gets(char *buffer);

인자 : buffer 입력받은 문자열을 저장할 메모리 주소

반환값 : 잘작동했을 시 인자로 전달받은 메모리 주소, 에러 발생시 NULL

동작 : 표준입력장치(stdin)에서 문자열을 입력받은 함수

*버퍼 오버플로우(overflow)에 의한 보안 결함 존재, gets_s로 대체


int puts(const char *string)

인자 : string : 저장된 메모리의 주소

반환값 : 정상적이면 음수가 아닌값, 에러발생시 EOF 반환

동작 : 표준출력장치(stdout)에 문자열을 출력하는 함수

*puts 함수는 printf함수와 달리 자동으로 개행한다.


*매개 변수가 포인터

*가장 전형적인 입출력 함수



출처 : 독하게 시작하는 C프로그래밍

+ Recent posts