티스토리 뷰

반응형

본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다.


 표준 입력 함수

      getchar() : 표준 입력 장치(키보드)가 입력한 내용이 버퍼에 들어가고 그 버퍼에 들어있는 단위문자 하나를 가져온다. 예를 들어 char ch로 캐릭터형 변수가 선언 되었다면 ch=getchar로 입력받을 수 있다. 다만 크기가 단일문자 하나로 제한되며, ENTER KEY가 단일문자의 속성을 가지고 있으므로 ENTER KEY를 입력시 getchar ENTER KEY가 버퍼에서 불려올 수도 있다. 이를 방지하려 fflush(stdin) 함수를 사용한다. prtinf %c로 출력이 가능하며 %s로 출력 시 빌드는 에러 없이 진행되나 실제 구동에서 에러가 발생하였다그리고 개인적으로 실습실에서 실험한 결과 getchar(stdin) 도 같은 결과값이 나오는걸 확인 할 수 있었다. 만일 숫자를 입력한다면 ‘1’ 같이 단일문자로 입력되게 된다.

- fflush(stdin) : 버퍼를 초기화 시키는 역할을 하는 함수이다. stdin 인자는 표준 입력을 뜻하므로 이는 표준입력에 관한 버퍼를 초기화 시키는 기능을 한다. 주로 문자를 입력받을 때 ENTER KEY가 문자로 인식되어 입력되는걸 방지하기 위해 버퍼를 초기화할 때 사용된다.

      gets() : 문자열을 입력 받는다. 다만 gets로 입력 받을 변수가 선언될 때 배열로 선언이 되어야 한다. 그렇지 않으면 빌드 후 구동 과정에서 에러가 발생한다띄워쓰기를 포함한 배열크기 만큼 문자열을 입력 받을 수 있다. 예를 들어 char str[10] 이 선언되었다고 가정하자. 이때 gets(str)로 표준입력 장치를 통해 문자열을 입력 받을 수 있다. 다만 gets 함수 자체가 배열의 크기를 알고 있지 못함으로 입력시 배열의 크기를 알지 못하면 다른 배열로 침범하기가 쉽다. getchar()와 마찬가지로 ENTER KEY를 단일문자로 인식한다.

 

 

    표준 출력 함수

     putchar() : getchar와 비슷하게 단일문자를 출력한다. int ch가 선언되었을 때 putchar(ch)로 사용할 수 있으며 마찬가지로 변수를 포함하지 않고 putchar(‘A’) 와 같이 단독으로 사용할 수도 있다.

     puts() : gets와 비슷하게 문자열을 출력한다. int str이 선언되었을 때 puts(str) str 문자열 값을 출력할 수 있다. 또한 gets와 마찬가지로 puts(“문자열”) 로도 사용이 가능하다.

 

    그 외 비슷한 내용으로 파일 입출력 관련 함수 fopen, fprintf, fscanf, putc, getc… 등이 stdio.h 에 정의되어 있다.

반응형
프로필사진

Yowu (Yu Yongwoo)

흔한 Node.js/Java 백엔드 개발자입니다
Ubuntu와 MacOS 데스크탑 개발 환경을 선호합니다
최근에는 vscode와 IntelliJ를 사용하고 있습니다
vscode에는 neovim, IntelliJ는 ideaVim
개발용 키보드는 역시 HHKB Pro 2 무각입니다
락 밴드에서 드럼을 쳤습니다

최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함
Total
Today
Yesterday