Programing/C++
[C++ 프로그래밍] 데이터 입력과 출력 다루기
유니얼
2024. 6. 7. 03: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++에서 입력과 출력을 다루는 방법을 이해하는 것은 대화형 프로그램을 개발하는 데 중요합니다. 이 포스트에서는 데이터 출력, 사용자 입력 캡처, 공백이 포함된 입력 처리의 기본 사항을 다뤘습니다.
반응형