C
1. getchar() // int getchar(void)
- <stdio.h> 내부에 존재
- 표준 입력 스트림에서 문자 하나를 읽어올 때 사용
- 키보드 버퍼(stdin)로부터 공백(' ')이나 개행문자('\n') 또한 입력을 받으니 주의해서 사용해야한다.
- 만일 파일 끝에 도달하거나, 읽기 오류가 발생한다면 함수는 EOF를 return
2. getc() // int getc(FILE* stream)
- getcar() 함수와 기능적으로 동일하게 작동한다!
3. getch(), getche() // int getch(void), int getche(void)
- <conio.h> 내부에 존재
- 키보드 버퍼를 사용하지 않고 바로 출력을 내보낸다
- Enter 값을 인식할 때 getch()와 getche()는 '\r'로 인식한다.
- getche()는 getch()와 동일하지만 입력 값을 화면에 출력한다는 차이점이 있다.
4. gets_s() // char* gets_s(char* buf, size_t size);
- <stdio.h> 내부에 존재
- 표준 입력 스트림의 버퍼(stdin)에서 문자열을 읽어오는 함수
- 공백(' ')을 포함한 문자열을 입력받을 수 있다.
- char 배열의 마지막 원소에는 '\0'을 입력시키므로 size-1 글자만 입력 가능하다.
- 입력에 성공하면 문자열을 return, 실패하면 NULL을 return
C++
1. cin.get()
1) int get();
표준 입력 스트림에서 문자 한 개를 가져온 뒤, 그 값은 return (int로 형변환)
2) istream& get(char& c);
표준 입력 스트림에서 문자 한 개를 가져온 뒤, c에 저장한다.
3) istream& get(char*s, streamsize n);
표준 입력 스트림에서 문자들을 가져온 뒤, s에 C형식 문자열(char 배열)로 저장한다.
문자는 제한 문자 '\n'이 나올 때까지나, n-1개의 문자를 받을 때까지 입력받게 된다. (맨 마지막에는 자동 널 문자 1개가 입력
또한 이 함수는 제한 문자는 스트림에서 빼내지 않기 때문에 제한 문자를 빼내기 위해서는 getline 함수 사용.
4) istream& get(streambuf& sb);
표준 입력 스트림에서 문자들을 받은 뒤, 이를 스트림 버퍼 sb에 입력한다.
문자는 제한 문자 '\n'이 나올 때까지나, 파일 끝(EOF)에 도달할 때까지 입력받는다.
5) istream& get(streambuf& sb, char delim);
위와 동일하지만, 제한 문자를 사용자가 임의로 지정할 수 있다.
2. cin.getline() // istream& getline(char* s, streamsize n, char delim);
- <iostream> 내부에 존재
- 문자열을 입력받을 때 사용한다.
- 공백(' '), 개행문자('\n')를 포함하여 입력받을 수 있다.
- 제한 문자(delim, default는 '\n')가 나올 때까지, n-1개의 문자를 받을 때까지 입력받게 된다. (맨 마지막에는 자동 널 문자)
- getline()과 다른 함수이다!
getline() // istream& getline(istream& is, string& str, char delim);
1. <string> 내부에 정의
2. 첫번째 매개변수에 따라 파일입력을 받을지 표준입력을 받을지 결정
3. 두번째 매개변수는 문자열을 저장할 string형 변수 명
4. 세번째 매개변수는 제한 문자 (defalut는 '\n')
5. 맨 마지막에 NULL 문자가 저장이 되지 않는다!
'알고리즘 > BOJ' 카테고리의 다른 글
[C++] 백준 11656번 - 접미사 배열 (0) | 2020.03.30 |
---|---|
[C++] 백준 11655번 - ROT13 (0) | 2020.03.30 |
[C++] 백준 11004번 - K번째 수 (0) | 2020.03.29 |
[C++] 백준 11652번 - 카드 (0) | 2020.03.29 |
[C++] 백준 10989번 - 수 정렬하기 3 (0) | 2020.03.29 |