트랙백 주소 : http://www.tipssoft.com/bulletin/tb.php/FAQ/1260 |
팁스소프트에서 제공하는 프로그래밍과 관련된 자료나 정보들을 무단으로 복제하거나 게재하는 행위는 상호간의 신뢰를 무너뜨리는 행위이며, 법적인 문제를 야기할 수 있으므로 각별한 주의를 당부드립니다. * 팁스소프트 저작권 정책 보기 - http://www.tipssoft.com/bulletin/tb.php/FAQ/637 이 자료들은 팁스소프트에서 제공하는 [ 알짜배기 ] 프로그램을 이용하면 더 편리하게 볼수 있습니다. * 알짜배기 프로그램 받기 - http://www.tipssoft.com/bulletin/tb.php/QnA/8406 * 관리자의 Tipssoft 이야기를 들어보세요 ( 트위터 ID : tipssoft ) "콘솔"이란 컴퓨터에서 가장 기본적인 입출력을 담당하는 장치들 말하며, 대표적으로 키보드와 모니터가 이에 해당합니다. 콘솔 환경은 문자를 입력하고 출력하는 방법으로만 프로그램이 수행되기 때문에 별도의 화면을 구성할 필요도 없고, 복잡한 환경을 구축해야할 필요가 없기때문에 보통 프로그래밍을 처음 배울 때 많이 사용됩니다. C# 에서는 System 네임스페이스에 시스템 운영에 필수적인 클래스들을 포함시켜서 제공하고 있는데 그 중, Console 클래스에서 콘솔 응용 프로그램에 표준 입출력 및 오류 스트림을 사용할 수 있도록 제공하고 있습니다. 이번 강좌에서는 Console 클래스에 포함된 간단한 입출력 메서드들의 사용법에 대해 알아보도록 하겠습니다. 1. 콘솔 화면에 출력하기 콘솔 화면에 원하는 데이터를 출력할 때에는 Write() 와 WriteLine() 메서드를 사용합니다. 두 메서드는 둘 다 화면에 데이터를 출력하기 위한 목적으로 사용되지만 출력되는 형식에 약간 차이가 있습니다. Write() 메서드의 경우에는 출력하고자 하는 데이터만 화면에 출력되지만 WriteLine() 메서드의 경우에는 데이터를 출력한 후에 줄바꿈(Line Feed) 을 수행합니다. 아래의 코드와 실행결과를 보면 두 메서드의 차이를 명확하게 알 수 있습니다. class TipsExam { static void Main(string[] args) { // 세개의 문자열을 개행없이 연속으로 출력한다. System.Console.Write("Hello World-1 "); System.Console.Write("Hello World-2 "); System.Console.Write("Hello World-3 "); // WriteLine() 메서드에 아무 값도 입력하지않으면 단순 개행만 수행한다. System.Console.WriteLine(); System.Console.WriteLine(); // 세개의 문자열을 출력한 후 개행한다. System.Console.WriteLine("Hello World-4 "); System.Console.WriteLine("Hello World-5 "); System.Console.WriteLine("Hello World-6 "); System.Console.WriteLine(); // Write 메서드는 문자열을 출력한 후에 개행을 하지 않지만 // 개행이 필요한 부분에 \n 을 입력하면 개행을 수행한다. System.Console.Write("Hello World-7 \n"); System.Console.Write("Hello World-8 \nHello World-9 \n\n"); // 첫번째 인자에 있는 문자열에서 지정한 형식대로 출력한다. // 두번째 인자부터는 출력하고자 하는 데이터를 명시한다. // 입력된 데이터는 출력 형식 문자열에서 "{인덱스}" 가 명시된 위치에 출력된다. // 여기에서 인덱스는 두번째 인자부터 순차적으로 부여되며 0부터 시작한다. // ( "Hello" → 0, '-' → 1, 9 -> 2 ) // 출력 결과 : Hello World-09 System.Console.WriteLine("{0} World{1}0{2}", "Hello", '-', 9); // + 연산자를 이용해서 다른 타입의 데이터를 쉽게 출력할 수도 있다. System.Console.WriteLine("Hello " + "World" + '-' + 10); } } 보시다시피 Write 메서드는 문자열을 출력한 후에 개행을 하지 않고, WriteLine 드는 문자열을 출력한 후에 개행을 하여 다음 문자열 출력시 다음 줄에서 출력되도록 해줍니다. C++ 와 달리 C# 은 Write 메서드와 WriteLine 메서드가 18 개 이상으로 정의되어 있기때문에 아래와 같은 출력형식도 제공합니다. int a = 123; double b = 14.21; System.Console.Write("정수형 데이터 : "); System.Console.Write(a); System.Console.Write(", 실수형 데이터 : "); System.Console.WriteLine(b); 2. 키보드로 입력받기 콘솔 응용 프로그램에서 입력을 받을 때에는 Read() 와 ReadLine() 메서드를 사용합니다. 두 메서드는 키보드에 입력한 문자열을 받아오기 위한 동일한 목적으로 사용되지만 값을 받아오는 방식이 조금 다릅니다. 콘솔 응용 프로그램에서 문자를 입력한 후 엔터(Enter) 를 누르면 입력한 문자열들은 스트림(Stream) 버퍼에 저장이 됩니다. 그리고 Read() 나 ReadLine() 메서드를 이용하여 스트림 버퍼에 저장된 문자열 정보를 읽어 오는 것입니다. 이 때 Read() 메서드는 한 글자씩 문자를 읽어서 반환해주고, ReadLine() 메서드는 한 줄씩 문자열을 읽어서 반환해줍니다. 아래의 예제는 두 메서드를 사용한 예제 코드와 실행 결과입니다. class TipsExam { static void Main(string[] args) { // 스트림 버퍼가 비어있으면 문자가 입력될 때까지 프로그램이 대기한다. // 스트림 버퍼에 읽을 문자가 있으면 하나의 문자를 int 데이터형으로 읽는다. // int 형 데이터를 char 로 형변환하여 변수에 저장한다. char a = (char)System.Console.Read(); char b = (char)System.Console.Read(); char c = (char)System.Console.Read(); // 스트림 버퍼에서 \n 이 나올때까지의 문자열을 읽는다. // 즉, 한 줄의 문자열을 읽는다. string remain = System.Console.ReadLine(); // 읽은 문자 및 문자열을 출력한다. System.Console.WriteLine("a -> " + a); System.Console.WriteLine("b -> " + b); System.Console.WriteLine("c -> " + c); System.Console.WriteLine("남은 문자열 -> " + remain); } } 위 예제의 실행 결과를 보면 입력한 문자열을 Read() 나 ReadLine() 메서드를 이용해서 순차적으로 읽는 것을 알 수 있습니다. 이 때 한번 해당 메서드들로 문자열을 읽으면 동일한 문자열을 다시 읽기 어렵기 때문에 필요에 따라서 읽은 문자열을 저장해두어야 합니다. |
'Program > C#' 카테고리의 다른 글
[C#] Visual Studio에서 프로그램이 끝나고 콘솔 창 유지하기 (0) | 2019.01.15 |
---|---|
[C#] C#에서 MySQL 연동 사용하기 (0) | 2014.10.31 |
3.C# 네임스페이스 (0) | 2014.10.23 |
2.C# 프로젝트 만들기 (0) | 2014.10.23 |
1.C# 에 대하여 (0) | 2014.10.23 |