namespace cin cout stream 입출력

markyang92·2023년 1월 17일
0

Cplusplus

목록 보기
1/3
post-thumbnail

컴파일


namespace

  • package라고 생각하자. 이름 충돌을 피하기 위해 사용
  • std 패키지에 있는 cout을 사용할 것 -> std::cout
    • 함수
    • 클래스
    • 기타 등등
  • #pragma once: cpp 하나씩 컴파일 되고, 함수는 어딨는지는 모르겠고 나중에 링크할 때 가져다 쓰는데, 중복해서 선언되면 안돼!!!기 때문에

using

  • Java의 import와 비슷(완전 같진 않지만)

출력 형식 지정


cin 주의

char firstName[4];
cin >> firstName;
# ============== #
Coco(입력)
firstName[3]'\0'을 자동 포함하지 않는다!

stream state

cin >> line;
if (!cin.eof()){  <--- EOF 가 아니면 계속 진행하라
    <--- EOF 만나면 여기로 온다.
}


istream 상태

  • namespace ios_base
  • bit flag
    • gootbit : 아무 문제 없이 잘 동작했다.
    • eofbit : 파일의 끝 문자를 읽었다.
    • failbit : 어떤 경우던 fail 했다. 예: stringint로 읽는다.
    • badbit: 문제가 있다.
  • method
    • good()
    • eof()
    • fail()
    • bad()
int number;
cin >> number;

입력 버리기(Discarding Input)

  • 스트림을 good state로 돌려준다.

  • 파일의 끝에 도달 || 지정한 수 만큼 문자를 버리면 멈춘다.



정수 계속 덧셈 예제


cin.get(): 뉴라인 안버림

  • 뉴라인 문자가 여전히 입력 스트림에 남아있음을 꼭 기억하자.
  • get(,,'#'); 3번째 아규먼트 문자를 넣으면
    위의 예시는 문자 3개를 가져옴 || '#' 문자를 만나기 직전까지 모든 문자 가져옴

getline(): 뉴라인 버림

  • 뉴라인 문자를 만나기 직전까지의 모든 문자를 가져옴
  • 뉴라인 문자는 입력 스트림에서 버림
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글