컴퓨터를 공부하고자 마음먹은지 N일차

[25일차](홍정모의따배c)입출력버퍼 본문

🖥C

[25일차](홍정모의따배c)입출력버퍼

졸린새 2020. 10. 3. 01:13
728x90

[25일차](홍정모의따배c)입출력버퍼

*본 강의수기는 교수님의 모든 ppt나 코드 화면을 붙인게 아닙니다. 따로 출처 표시나 과제표시

안한 모든 코드와 사진자료의 출처는 본 강의의 교수님 입니다.

정리는 다시한번 제가 보기위함과 어떤강의인지 알려드리는 것이고

제가 적은건 이해를 돕기 위한 부연설명과 제가 이해한 몇개의 중심적인 내용이 다소

생략이 되었습니다. 이 수기를 통해 공부하려 하지말고 흥미로운 내용이라면

'인프런- 홍정모의 따라하며 배우는c' 과정을 수강하시길 바랍니다.

버퍼란 무엇인가?

버퍼는 컴퓨터에서 입출력과정을 거칠때

입력하거나 출력할데이터를 저장하는 과정이다.

내가이해한게 맞다면 ..

출처 - 인프런 홍정모의따배c

버퍼과정이 없다면?

  • 교수님코드
#include <stdio.h>
#include <conio.h>

int main()
{
    
    char c;
    
    while ((c = _getch()) != '.') //_getche
        putchar(c);
    
    return 0;
}

위 코드는 윈도우에서만 된다

conio헤더가 윈도우밖에 지원안한다.

흔히보던 getchar가 아니다 앞에 언더바도 있다.

버퍼링과정없이 문자를 그대로 출력하는 코드다.

컴파일하면

인프런- (홍정모의따배c)

a를입력하면 a가 바로튀어나오고 h를입력하면 그뒤에 바로튀어나온다.

반면 버퍼를 거친

getchar는

\n를 입력받았을때 비로소 그전에 입력받은 문자를 출력한다.

  • 교수님코드
#include <stdio.h>
//#include <conio.h>

int main()
{
    
    char c;
    
    while ((c = getchar()) != '.')
        putchar(c);
    
    return 0;
}

그리고 '.'을 입력받고 프로그램은 끝난다.

Comments