-
[C++ 프로그래밍] 데이터 입력과 출력 다루기2024년 06월 07일
- 유니얼
-
작성자
-
2024.06.07.:28
728x90개요
C++를 배우면서 가장 기본적인 기술 중 하나는 데이터 입력과 출력을 다루는 것입니다. 이 블로그 포스트에서는 데이터를 출력하고, 사용자 입력을 캡처하며, 공백이 포함된 입력을 처리하는 방법에 대해 알아보겠습니다. 간단한 C++ 프로그램을 사용하여 이를 설명하겠습니다.
입출력 스트림 소개
C++는 입력과 출력을 처리하기 위해 몇 가지 표준 입출력 스트림을 제공합니다:
- std::cout: 표준 출력 스트림으로, 콘솔에 출력을 표시하는 데 사용됩니다.
- std::cerr: 표준 에러 스트림으로, 에러 메시지를 표시하는 데 사용됩니다.
- std::clog: 표준 로그 스트림으로, 로그 메시지를 기록하는 데 사용됩니다.
먼저, 이러한 스트림이 어떻게 작동하는지 이해하기 위해 간단한 예제를 살펴보겠습니다.
데이터 출력
#include <iostream> #include <string> int main() { // 데이터 출력 std::cout << "Hello C++20" << std::endl; int age{21}; std::cout << "Age: " << age << std::endl; std::cerr << "Error message: Something is wrong" << std::endl; std::clog << "Log message: Something happened" << std::endl; return 0; }
이 예제에서는:
- std::cout를 사용하여 인사말과 나이를 출력합니다.
- std::cerr는 에러 메시지를 출력합니다.
- std::clog는 로그 메시지를 출력합니다.
사용자 입력 캡처
사용자 입력을 캡처하는 것은 대화형 프로그램에서 필수적입니다. 우리는 std::cin을 사용하여 표준 입력 스트림(보통 키보드)에서 입력을 읽습니다.
#include <iostream> #include <string> int main() { int age1; std::string name; std::cout << "Please type your name and age: " << std::endl; std::cin >> name >> age1; std::cout << "Hello " << name << " you are " << age1 << " years old!" << std::endl; return 0; }
이 코드에서는 사용자에게 이름과 나이를 입력하라고 요청합니다. std::cin이 입력을 읽어오고, 이를 다시 콘솔에 출력합니다.
공백이 포함된 입력 처리
이전 예제의 한계는 공백이 포함된 이름을 처리할 수 없다는 점입니다. 이를 해결하기 위해 std::getline을 사용하여 한 줄의 텍스트를 읽습니다.
#include <iostream> #include <string> int main() { std::string full_name; int age3; std::cout << "Please type in your full name and age: " << std::endl; std::getline(std::cin, full_name); std::cin >> age3; std::cout << "Hello " << full_name << " you are " << age3 << " years old!" << std::endl; return 0; }
여기서는 std::getline(std::cin, full_name)을 사용하여 공백을 포함한 전체 이름을 읽습니다. 그런 다음 std::cin을 사용하여 나이를 읽습니다.
전체 예제
위의 모든 요소를 결합하여 전체 프로그램을 작성해 보겠습니다:
#include <iostream> #include <string> int main() { // 데이터 출력 std::cout << "Hello C++20" << std::endl; int age{21}; std::cout << "Age: " << age << std::endl; std::cerr << "Error message: Something is wrong" << std::endl; std::clog << "Log message: Something happened" << std::endl; // 사용자 입력 캡처 int age1; std::string name; std::cout << "Please type your name and age: " << std::endl; std::cin >> name >> age1; std::cout << "Hello " << name << " you are " << age1 << " years old!" << std::endl; // 공백이 포함된 입력 처리 std::string full_name; int age3; std::cout << "Please type in your full name and age: " << std::endl; std::cin.ignore(); // 입력 버퍼를 지웁니다. std::getline(std::cin, full_name); std::cin >> age3; std::cout << "Hello " << full_name << " you are " << age3 << " years old!" << std::endl; return 0; }
결론
C++에서 입력과 출력을 다루는 방법을 이해하는 것은 대화형 프로그램을 개발하는 데 중요합니다. 이 포스트에서는 데이터 출력, 사용자 입력 캡처, 공백이 포함된 입력 처리의 기본 사항을 다뤘습니다.
반응형다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드
받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이
감지되어도 모달 창이 표시되지 않습니다.)