이것저것 공부한 기록

C++) 입출력 정리 본문

Study/프로그래밍 개념정리

C++) 입출력 정리

블랜디 2019. 10. 17. 23:04

일반적으로, scanf랑 cin

 

1. 공백을 포함하여 한 줄을 통째로 입력받아야 하는 경우

 

string s;
getline(cin, s);

 

2. 그리고 입력의 크기가 매우 큰 경우, fgets사용.

char s[1000];
fgets(s, 1000, stdin);

string line(str); 

 

fgets(char *s, int num, FILE *ptr)의 형태.

3. 한 글자씩 받고자 할 때

 

scanf("%1d",&a);

 

4. EOF까지 입력받기

 

while (scanf("%d", &n) != EOF);
while (scanf("%d", &n) != -1);
while (~scanf("%d", &n))

3번째 줄 ~의 의미

-1은 2진수로 표현하면 1111 1111 ... 1111임.

근데 여기에 ~를 붙이면 0000 0000 .... 0000 = 0이 됨.

 

그래서 파일 끝에 닿으면 EOF==-1을 리턴해서 0이되어 while문 종료.

 

 

https://word.tistory.com/21

https://twpower.github.io/74-get-one-interger-in-cpp-and-c-by-using-scanf

https://donggod.tistory.com/55

'Study > 프로그래밍 개념정리' 카테고리의 다른 글

C/C++) nth_element (header algorithm)  (0) 2019.11.16
C++) Set, Map 정리  (0) 2019.10.26
C/C++) 문자 종류 판별 정리  (0) 2019.10.26
C++) 자주 쓰는 Vector 정리  (0) 2019.10.26
C++) Const (상수) Pointer 정리  (0) 2019.09.23