티스토리 뷰

c++

입력

길 킴 2019. 8. 7. 22:11
728x90

입력 (Input)

  1. cin
    char firstName[20];
    cin >> firstName;  (Extraction / 입력 / 뽑아오는 연산자로 출력연산자 << 의 반대)
    1. C++ 에서 Null Character 의 자리를 보장하는 안전한 방법 - setw()
      char firstName[4];
      cin >> setw(4) >> firstName;  // P O P \0  (입력값이 POPE 일 경우)
    2. 공백이 있는 문자 , 숫자 읽기
      char firstData[512];
      int secondData;
      // "         Hello             123"
      cin >> firstData >> secondData
  2. 스트림 상태 (Stream States)
    : cin,cout은 스트림인데, 스트림 마지막 연산의 성공 또는 실패를 찾기위한 상태
    1. cin >> line;
      if (!cin.eof()) { }  // end-of-file
    2. istream 상태
      1. 네임스페이스 - ios_base
      2. 비트 플래그
        1. goodbit 
        2. eofbit : 파일의 끝
        3. failbit : Fail 
        4. badbit: 뭔가 문제 
      3. 메소드 버전
        1. good()
        2. eof()
        3. fail()
        4. bad()
      4. 예제

  3. 입력 버리기 (Discarding Input)
    1. clear() : 스트림을 좋은 상태 (good state)로 돌려 줌
      cin.clear();
    2. ignore() : 아래 예제들은 파일 끝에 도달하거나 지정한 수만큼 문자를 버리면 멈춤
      cin.ignore(); // 문자 1개를 버림
      cin.ignore(10); // 문자 10개를 버림
      cin.ignore(10, '\n'); // 문자를 10개 버림. 단, 그 전에 뉴라인(new line) 문자를 버리면 바로 멈춤
      cin.ignore(LLONG_MAX, '\n'); // 최대 문자 수를 버림. 단, 그 전에 뉴라인 문자를 버리면 바로 멈춤 (한줄 전체 삭제)

  4. get()
    뉴라인 문자를 만나기 직전까지의 모든 문자를 가져옴
    뉴라인 문자는 입력 스트림에 남아있음
    1. get(firstName, 100);
      // 99개 문자를 가져오거나 뉴라인 문자가 나올 때까지의 문자를 가져오고,
      가져온 문자들을 char 배열(firstName)에 배치함
    2. get(firstName, 100, '#');
      // 99개 문자를 가져오거나 '#' 문자가 나올 때까지의 문자를 가져오고,
      가져온 문자들을 char 배열 (firstName)에 배치함
  5. getline()
    뉴라인 문자를 만나기 직전까지의 모든 문자를 가져옴
    뉴라인 문자는 입력 스트림에서 버림


'c++' 카테고리의 다른 글

출력 (Output)  (0) 2019.08.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함