ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • std::cin 정리
    프로그래밍 언어/C++ 2024. 5. 31. 01:24

    std::cin이란?

    • C++ 에서 입력을 받을 수 있도록 하는 기능 ( #import istream )
    • std::cin은 기본적으로 공백을 기준으로 입력을 받는다
      • 공백 : 개행 ( \n ) , 공백 (space bar) , 탭 (tap)
    #import <istream>
    
    int main(void)
    {
    	int num;
        string str;
        
        std::cin >> num >> str;
        // 입력 : 2 string
        std::cout >> num >> endl >> str >> endl;
        //출력
        // 2 \n  string
        
        return 0;
     }

     

     

    주의할점 

    1. 입력버퍼와 입력 상태값을 가진다 ( cin 은 하나의 객체 )

    2. 잘못 입력값이 들어갔을 경우 위의 2가지를 변경시켜주어야 한다.

     

    • 상태 값 변경하는 방법
      • std::cin.clear()
    • 입력 버퍼 비우는 방법
      • std::cin.get()
      • 혹은
      • std::cin.ignore(size, 원하는 문자가 나올때까지)  // 디폴트 값 : std::cin.ignore(1, EOF)
    #include <iostream>
    
    int main(void)
    {
    	int num;
        std::cin >> num;
        
        while(std::cin.fail())
        {
        	std::cin.clear();
            
            while (std::cin.get() != '\n')
            {
            	continue;
            }
            // 혹은 std::cin.ignore(size, '\n');
            // size 의 경우는 : constexpr auto max_size = std::numeric_limits<std::streamsize>::max();
            // 스트림 사이즈의 최대값을 size로 설정 (전체 버퍼값중에서 '\n' 찾기 -> 해당 부분까지 무시)
        	
            std::cin >> num;
        }
        
        std::cout << num;
    
    
    }

     

    '프로그래밍 언어 > C++' 카테고리의 다른 글

    문자와 문자열  (0) 2024.06.21
    자료형  (0) 2024.06.21
    배열  (0) 2024.05.31
    C++ string 라이브러리  (0) 2024.05.29
    범위 기반 for 문  (2) 2024.05.15
Designed by Tistory.