임시 저장 영역을 버퍼라고 합니다. 모든 입력 출력(I/O) 장치에는 I/O 버퍼가 있습니다.
필요한 수 이상의 값을 입력으로 전달하려고 하면 나머지 값은 자동으로 입력 버퍼에 유지됩니다. 이 버퍼 데이터는 다음 입력 기능이 있는 경우 자동으로 다음 입력 기능으로 이동합니다.
다음 입력을 받기 전에 버퍼를 지워야 합니다.
예시
다음은 버퍼용 C 프로그램입니다 -
#include<stdio.h> void main(){ int a,b; printf("\n Enter a value: "); scanf("%d",&a); printf("\n Enter b value: "); scanf("%d",&b); printf("\n a+b=%d ",a+b); getch(); }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
Enter a value: 1 Enter b value: 2 a+b=3
다시 프로그램을 실행합니다. 이번에는 b가 아닌 a에 값을 입력하려고 합니다.
Enter a value: 1 2 3 Enter b value: a+b=3
b 값을 입력하지 않았더라도 이미 버퍼에 있는 이전에 저장된 값을 사용합니다.
구현에서 표준 입력 버퍼 데이터를 제거해야 하는 경우 flushall() 또는 fflush() 함수로 이동합니다.
-
플러시() - stdio.h에 존재하는 미리 정의된 기능입니다. flushall을 사용하여 I/O 버퍼에서 데이터를 제거할 수 있습니다.
-
플러시() − 입력 또는 출력 버퍼 메모리를 지우는 데 사용되는 "stdio.h" 헤더 파일에 미리 정의된 함수입니다.
-
플러시(stdin) - 입력 버퍼 메모리를 비울 때 사용합니다. scanf 문을 작성하기 전에 사용하는 것을 권장합니다.
-
플러시(stdout) - 출력 버퍼 메모리를 비울 때 사용합니다. printf 문 앞에 사용하는 것을 권장합니다.