Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 Console 클래스로 표준 출력 및 표준 오류 출력 스트림 가져오기

C# 프로그래밍에서 콘솔(Console)을 통해 표준 출력 스트림(Standard Output Stream)표준 오류 출력 스트림(Standard Error Output Stream)에 접근해야 할 때가 있습니다. 이때 각각 Console.OutConsole.Error 속성을 사용하면 손쉽게 해당 스트림 객체를 가져올 수 있습니다.

Console.Out으로 표준 출력 스트림 가져오기

Console.Out은 표준 출력 스트림을 나타내는 TextWriter 객체를 반환합니다. 아래 예제 코드를 통해 확인해 보겠습니다.

예제 코드

using System;

public class Demo {
   public static void Main(string[] args) {
      Console.WriteLine("Standard Output Stream = " + Console.Out);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Standard Output Stream = System.IO.TextWriter+SyncTextWriter

출력 결과를 보면 표준 출력 스트림이 System.IO.TextWriter+SyncTextWriter 타입의 객체임을 알 수 있습니다. 내부적으로는 스레드 동기화가 적용된 TextWriter 래퍼(wrapper)입니다.

Console.Error로 표준 오류 출력 스트림 가져오기

Console.Error 역시 TextWriter 타입의 객체를 반환하지만, 일반 출력이 아닌 오류 메시지 전용 스트림이라는 점이 다릅니다. 아래 예제에서 두 스트림을 함께 확인해 보겠습니다.

예제 코드

using System;

public class Demo {
   public static void Main(string[] args) {
      Console.WriteLine("Standard Output Stream = " + Console.Out);
      Console.WriteLine("Standard Error Output Stream = " + Console.Error);
   }
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Standard Output Stream = System.IO.TextWriter+SyncTextWriter
Standard Error Output Stream = System.IO.TextWriter+SyncTextWriter

정리

  • Console.Out: 표준 출력(stdout)을 담당하는 스트림으로, Write(), WriteLine() 등의 메서드가 기본적으로 사용하는 대상입니다.
  • Console.Error: 표준 오류(stderr)를 담당하는 스트림으로, 주로 에러 메시지나 경고를 출력할 때 사용됩니다.
  • 두 스트림 모두 TextWriter 계열 객체이며, 리디렉션(redirection)을 통해 파일이나 다른 출력 대상으로 변경할 수 있습니다.