title: “C언어 문자열 3 문자 입출력 라이브러리” categories:

  • C

    #C언어 문자열 3 문자 입출력 라이브러리 : 네이버 블로그

전 포스팅으로 문자와 문자열에 대해 알아보았다.

이번 포스팅으로는 문자와 문자열의 입출력 라이브러리에 대해 알아보겠다.

문자 입출력 라이브러리

문자 입출력 라이브러리는 보통 %c 형식 지정자를 사용하며 문자 하나를 대상으로 한다.

우리가 잘 알고있는 printf(“%c”,c);와 scanf(“%c”,&c)도 문자 하나를 대상으로하는 문자 입출력 라이브러리다.

그 밖의 함수들은 아래에 정리하였다

   
int getchar(void) 하나의 문자를 읽고 반환한다
int _getch(void) 버퍼를 사용하지 않고 하나의 문자를 읽고 반환한다
void putchar(int c) 변수 C에 저장된 문자를 출력한다
void _putch(int c) 버퍼를 사용하지 않고 변수 C에 저장된 문자를 출력한다

여기서 우리는 버퍼의 차이를 알아야한다.

아래는 버퍼의 차이를 알 수 있는 예제이다

#include
#include
int main() {
 int ch;
 printf("putchar(ch) 실행 q를 누르면 종료\n");
 while ((ch = getchar()) != 'q') //\_getch로 바꿔서 해보세요
 {
 putchar(ch);
 }
 printf("\_putch(ch) 실행 w를 누르면 종료\n");
 while ((ch = getchar()) != 'w') //\_getch로 바꿔서 해보세요
 {
 \_putch(ch);
 }
}

_을 쓰기 위해서는 conio.h 헤더가 필요하다

버퍼가 있다면 입력을 받고 엔터가 눌릴 때까지 버퍼에 저장한다. 그러나 _putch같이 버퍼가 없으면 엔터가 눌리지 않아도 바로 실행된다.

버퍼에 따라 응답성, 문자수정여부같은 차이점이 생긴다. 버퍼를 적절이 사용하자.

다음은 포스팅에서는 문자열의 입출력 라이브러리에 대해 알아보겠다

업데이트: