728x90

포큐아카데미 c++3200강의 내용을 개인학습용으로 정리한 내용입니다.

 

c와는 달리 모든 입력이 stream 형태로 들어온다.

 

>>

출력연산자? (정식명칭)extraction 연산자? 뽑아오는 연산자?

 

C의 scanf()는 위험하다?

C의 scanf()는 경계검사를 하지 않기 때문에 위험하다.

보통 C에 입력된 데이터의 끝을 알기위해 뒤에 경계문자를 넣기 떄문에

사용자가 미리 경계의 끝을 알고 메모리를 할당하지 않으면 문제가 생긴다

 

C++의 cin은 안전한가?

C의 scanf와 마찬가지로 입력시 할당한 char[]의 길이를 알지 못하기 때문에

같은 문제가 발생한다.

 

scanf() cin 안전하게 사용하는 예

 

여러개 입력

scanf() cin 모두 공백으로 구분 가능하다

 

입력 스트림 상태

아래 그림 -표 두번째 처럼 콘솔 입력과 텍스트를 읽어와 입력처리하는 경우

다른 스트림상태가 나올수 있다.

콘솔 입력은 마지막에 엔터를 치기 떄문에...

입력버리기

cin.clear()

cin.ignore()

get()

getline()

 

 

 

 

 

728x90

+ Recent posts