다음을 통해 공유


상위 수준 콘솔 I/O

상위 수준 I/O 함수는 콘솔 입력에서 문자 스트림을 읽거나 콘솔 출력에 문자 스트림을 쓰는 간단한 방법을 제공합니다. 개략적인 읽기 작업은 콘솔의 입력 버퍼에서 입력 문자를 가져오고 지정된 버퍼에 저장합니다. 상위 수준의 쓰기 작업은 지정된 버퍼에서 문자를 가져와 현재 커서 위치의 화면 버퍼에 쓰고 각 문자가 기록될 때 커서를 이동합니다.

상위 수준 I/O를 사용하면 ReadFile 및 WriteFile 함수와 ReadConsole 및 WriteConsole 함수 중에서 선택할 수 있습니다. 두 가지 중요한 차이점을 제외하고 동일합니다. 콘솔 함수는 각 함수의 A 및 W 변형을 통해 설정된 유니코드 문자 또는 ANSI 문자의 사용을 지원합니다. 파일 I/O 함수는 사용하기 전에 SetConsoleCP 및 SetConsoleOutputCP 함수에 상수가 있는 UTF-8 집합 CP_UTF8 을 제외하고 유니코드를 지원하지 않습니다. 또한 파일 I/O 함수를 사용하여 파일, 파이프 및 직렬 통신 디바이스에 액세스할 수 있습니다. 콘솔 함수는 콘솔 핸들에서만 사용할 수 있습니다. 이러한 구분은 애플리케이션이 리디렉션되었을 수 있는 표준 핸들을 사용하는 경우에 중요합니다.

상위 수준 함수 집합 중 하나를 사용하는 경우 애플리케이션은 가상 터미널 시퀀스를 통해 기본 메커니즘을 사용하여 화면 버퍼에 쓴 문자를 표시하는 데 사용되는 텍스트 및 배경색을 제어할 수 있습니다. 또한 애플리케이션은 상위 수준 콘솔 I/O에 영향을 주는 콘솔 모드를 사용하여 다음 속성을 사용하거나 사용하지 않도록 설정할 수 있습니다.

  • 활성 화면 버퍼에 키보드 입력 에코
  • Enter 키를 누를 때까지 읽기 작업이 반환되지 않는 줄 입력
  • 캐리지 리턴, Ctrl+C 및 기타 입력 세부 정보를 처리하기 위한 키보드 입력 자동 처리
  • 줄 바꿈, 캐리지 리턴, 백스페이스 및 기타 출력 세부 정보를 처리하기 위한 출력 자동 처리

자세한 내용은 아래 항목을 참조하세요.