• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • [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일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바