다음을 통해 공유


입력 및 출력 메서드

콘솔 I/O에는 두 가지 방법이 있으며, 그 선택은 애플리케이션 요구 사항의 유연성과 제어 양에 따라 달라집니다. 고급 접근 방식을 사용하면 간단한 문자 스트림 I/O를 사용할 수 있지만 콘솔의 입력화면 버퍼에 대한 액세스를 제한합니다. 낮은 수준의 접근 방식을 사용하려면 개발자가 더 많은 코드를 작성하고 더 많은 함수 중에서 선택해야 하지만 애플리케이션에 더 많은 유연성을 제공합니다.

참고 항목

하위 수준 접근 방식은 신규 및 지속적인 개발에 권장되지 않습니다. 하위 수준 콘솔 I/O 함수의 기능이 필요한 애플리케이션은 가상 터미널 시퀀스를 사용하고 클래식 함수와 가상 터미널 에코시스템 로드맵대한 설명서를 살펴보는 것이 좋습니다.

애플리케이션은 콘솔의 입력 및 화면 버퍼에 대한 간접 액세스를 제공하는 상위 수준 I/O에 대해 파일 I/O 함수, ReadFileWriteFile 및 콘솔 함수인 ReadConsole 및 WriteConsole을 사용할 수 있습니다. 상위 수준 입력 함수는 콘솔의 입력 버퍼에서 데이터를 필터링하고 처리하여 입력을 문자 스트림, dis카드ing 마우스 및 버퍼 크기 조정 입력으로 반환합니다. 마찬가지로 상위 수준 출력 함수는 화면 버퍼의 현재 커서 위치에 표시되는 문자 스트림을 작성합니다. 애플리케이션은 콘솔의 I/O 모드를 설정하여 이러한 함수의 작동 방식을 제어합니다.

하위 수준 I/O 함수는 콘솔의 입력 및 화면 버퍼에 직접 액세스하여 애플리케이션이 키보드 이벤트에 대한 마우스 및 버퍼 크기 조정 입력 이벤트 및 확장 정보에 액세스할 수 있도록 합니다. 낮은 수준의 출력 함수를 사용하면 애플리케이션이 화면 버퍼에서 지정된 수의 연속 문자 셀에서 읽거나 쓰거나, 화면 버퍼의 지정된 위치에 있는 문자 셀의 사각형 블록에서 읽거나 쓸 수 있습니다. 콘솔의 입력 모드는 애플리케이션이 마우스 및 버퍼 크기 조정 이벤트가 입력 버퍼에 배치되는지 여부를 결정할 수 있도록 하여 하위 수준 입력에 영향을 줍니다. 콘솔의 출력 모드는 하위 수준 출력에 영향을 주지 않습니다.

상위 수준 및 하위 수준 I/O 메서드는 상호 배타적이지 않으며 애플리케이션은 이러한 함수의 조합을 사용할 수 있습니다. 그러나 일반적으로 애플리케이션은 한 가지 방법 또는 다른 방법을 단독으로 사용하며 최적의 결과를 위해 특정 패러다임을 중점적으로 사용하는 것이 좋습니다.

이상적인 미래 예측 애플리케이션은 하위 수준 I/O 함수를 완전히 사용하지 않도록 필요한 경우 상위 수준 I/O 메서드를 통해 높은 수준의 메서드에 초점을 맞추고 가상 터미널 시퀀스를 통해 추가 요구 사항을 보강합니다.

다음 항목에서는 콘솔 모드 및 상위 수준 및 하위 수준 I/O 함수에 대해 설명합니다.