일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 알고리즘
- 카카오 코테
- Nodejs
- 카카오 알고리즘
- C++
- AWS
- thymeleaf
- git
- OpenCV
- spring boot
- @Component
- 구조체배열
- 해시
- nestJS
- 코테
- 스프링
- 시스템호출
- TypeORM
- Spring
- 카카오
- 컴포넌트스캔
- nestjs typeorm
- python
- 코딩테스트
- 프로그래머스
- 파이썬
- 가상면접사례로배우는대규모시스템설계기초
- @Autowired
- C언어
- nestjs auth
Archives
- Today
- Total
공부 기록장 💻
[C++] 문자열 입력 - <cstring> cin.getline, <string> - getline 본문
# Language & Tools/C++
[C++] 문자열 입력 - <cstring> cin.getline, <string> - getline
dream_for 2021. 4. 6. 02:22(명품 C++ 프로그래밍 ch 2.4)
C++ 에서 문자열을 표현하는 방법에는 두 가지가 있다: C-스트링 / string 클래스
1. C-스트링
- NULL(0, '\0') 문자로 끝나는 char 배열
- #include <cstring>
- #include <string.h>
- C언어에서 사용하는 문자열 방식. C언어와의 호환성 때문에 그대로 사용하는 방법
- cin >> 연산자 이용 시 주의점 : 공백 문자를 만나면 이전 문자열만 하나의 문자열로 인식
- cin 객체의 getline() 멤버 함수 이용하여 공백이포함된 문자열 입력 받기
cin.getline(char buf[], int size, char delimitChar) - buf: 키보드로부터 읽은 문자열을 저장할 배열 이름 - size: buf[] 배열의 크기 - delimitChar: 문자열 입력 끝을 지정하는 구분 문자 최대 (size-1)개의 문자를 입력 받을 수 있다. delimitChar로 지정된 문자를 만나면 문자열의 입력이 종료됨.(delimitChar로 지정된 문자는 저장되지 ㅇ낳는다.) buf[] 배열의 마지막에는 NULL 문자가 덧붙여짐. |
char address[100];
cin.getline(address, 100, '\n'); // <Enter> 키가 입력될때까지 최대 99개의 문자 입력 받을 수 있다.
// 마지막 매개변수 delimitChar의 디폴트값이 개행문자 이므로, 다음과 같이 간소화 가능
// cin.getline(address, 100);
2. string 클래스
- C++ 표준 라이브러리에서 제공하는 클래스
- #include <string>
- 문자열을 객체로 다루어, string 클래스 내에 구현되어 있는 다양한 멤버 함수들을 이용해 문자열을 다룰 수 있다.
- 문자열의 크기에 제약이 없다.
- 문자열 복사, 비교, 수정 등 다양한 문자열 연산을 위한 멤버 함수와 연산자를 제공
- getline(istream&, string&, delimitChar); : string 타입의 문자열을 입력받기 위해 C++ 표준 라이브러리에서 지원하는 전역 함수
- <enter>키가 입력될 때 까지 cin 버퍼 스트림에 스트링 객체가 저장된다.
- delimitChar 앞의 문자열을 string& 스트링 참조 매개 변수 객체에 저장한다.
// 문자열 선언과 초기화
string song("Falling in love with you");
// 문자열 변수 선언
string singer
// 사용자로부터 문자열 입력 받기
getline(cin, singer);
728x90
반응형
'# Language & Tools > C++' 카테고리의 다른 글
[C/C++] 문자열 처리 함수 c_str(), atoi(), stoi() (0) | 2021.04.09 |
---|---|
[C++] string 클래스 - string 문자열 객체 동적 생성, string 멤버 함수 사용 (0) | 2021.04.07 |
[C++] 클래스와 객체 - 클래스 선언부/구현부, 생성자, 소멸자, 멤버 접근 지정자, 자동 인라인함수, 구조체 (0) | 2021.04.06 |
명품 C++ Programming 2장 실습 문제 - C++ 표준 입출력, cin, cout, string 객체, getline 함수 (0) | 2021.03.18 |
[C/C++] C++ 프로그래밍 기본 (0) | 2021.03.17 |
Comments