저번 포스팅 까지는 이제 Python에서 주로 쓰는 표현과 큰 차이가 없어 쉽게 쉽게 넘어 갔을 것이라고 생각합니다.
이번 시간에는 이제 C++에서는 문자열을 어떻게 입력 해야 하는가???
아마 몇몇 분들은 C++를 배우기 시작하자마자 "Hello World"를 이제 출력하려고
str = "Hello World"
와 같이 python에서 쓰던 버릇 그대로 선언하시고 컴파일을 돌렸을 것입니다. 그럼 이제 오류가 뜨죠
선언된 string 값이 없다라고 뜰 것입니다.
이런 문제를 해결하기 위해 이번에 같이 String에 대해서 학습해봅시다.
String
- #include <string> 을 통해 사용가능
- 형식 : std::string 변수명;
- 입력은 변수명 = " "; 와 동일
- cin을 이용한 입력가능
실습. Hello C++
- string을 통해서 hello C++을 출력해보시오.
- cin을 사용하여 출력해 보시오.
뭐 여기까지는 예상했던 그 정도? 그쵸?
근데 이제 메서드 목록이 우르륵 나옵니다.
메서드
- .at(index) : index위치의 문자 반환, 범위 체크 O
- [index] : index위치의 문자 반환, 범위 체크 X
- .front() : 가장 앞 문자 반환
- .back() : 가장 뒤 문자 반환
- .length(), .size() : 문자열 길이
- .resize(n) : n의 크기로 변환, 기존 길이보다 작으면 남는 부분 삭제, 크면 null로 채움
- .resize(n, 'a') : 채울때 'a'로 채움
- .empty() : 빈 문자열인지 확인
여기까지 일단 체크포인트 1으로 한번씩 다 출력하고 넘어가 봅시다.
뭔가 익숙한 것도 있고 익숙하지만 사용법이 다른 것도 있는 것 같습니다.
그럼 이제 이어서 다시 출발해 봅시다.
- .append(str2) : str2 문자열 이어 붙여줌 (+와 동일)
- .append(str2, n, m) : str2 문자열의 n index부터 m개의 문자 붙여줌
- .insert(n, str2) : n index에 str2 문자열 삽입
- .replace(n, k, str2) : n index부터 k개의 문자를 str2로 대체
- .clear() : 문자열 모두 지움
- .erase(n, m) : n index부터 m개의 문자열을 지움
자 체크포인트2!!! 출력 해보고 넘어 갑시다!!!!
여기 까지도 python에서 보던 것들이 있어 이해는 된다 정도네요.
그럼 이어서 다시 출발
- .find(str2) : str2가 포함되어 있는지 확인, 찾으면 첫 번째 index 반환
- .find(str2, n) : n index 이후부터 find
- .substr(n) : n index 부터 끝까지의 문자를 부부문자열로 반환
- .substr(n, k) : n index 부터 k개의 문자열 부분 문자열로 반환
- .compare(str2) : 문자열 비교, 같으면 0, str < str2 면 음수, str > str2 면 양수
- 단 기준이 문자열 길이가 아닌 문자열에 따른 아스키코드가 기준입니다.
- 즉, 알파벳이면 첫 글자 부터 a,b,c,d,e,f~~~~~ 순
자...잠깐 갑자기 이상한 메서드가 총 출동 했습니다. 일단 여기서 체크포인트 3을 찍읍시다.
아 막상 쳐보니 별거 아니었네요!!!!

그럼 이제 다시 마지막 메서드로 출발해 봅시다.
- isdigit(c) : 문자 C가 숫자이면 true, 아니면 false
- isalpha(c) : 문자C가 영어이면 true, 아니면 false
- toupper(c) : 문자C를 대문자로 변환
- tolower(c) : 문자C를 소문자로 변환
- stoi(str) : str을 int로 변경
- stof(str) : str을 float로 변경
- to_string(n) : n을 string으로 변경
어 이번에는 stoi, stof라는 명치만 어색할 뿐 기능은 python에서 모두 경험해 봤던 내용입니다.
반갑죠?
자 그럼 이번에도 한번씩 출력해 봅시다.
자 이제 string에 관련된 메서드의 정리가 끝났습니다. 참 긴 여정이었던 것 같네요 ㅎㅎ
그럼 실습을 마무리로 이번 포스팅은 여기까지 하겠습니다.
실습. string 사용해보기
- string str =
- "Police say two people are suspected of trying to create a shortcut for their construction work.Thetwo have been detained and the case is under further investigation.The38-year-old man and 55-year-old woman were working near the affected area, the 32nd Great Wall."
- str 문자열의 길이 출력
- 100번째 문자 출력(index는 0부터 시작)
- “two” 라는 문자가 처음 나오는 index 출력
- “two” 라는 문자가 두번째 나오는 index 출력
실습. string 사용해보기
- string str = “Condingon”
- 첫번째 문자 소문자로 변경 -> “codingon”
- “ding” 이라는 부분문자열 반환
- “coooooon” 이 되도록 변경
- “con” 이 되도록 변경
오늘도 같이 공부하시느라 수고 많으셨습니다!!!!!!

과제. string 사용해보기
- 문자열을 입력 받아서 둘 모두 숫자인지 검사, 아니면 다시 입력 받도록
“1111” -> OK
“abcd”, “a123”, “123a” -> NO - 두 문자열을 입력 받고 두 문자/숫자를 이어 붙여서 출력
“1111” “2222” -> “11112222” - 숫자로 된 두 문자열을 입력 받고 두 문자열의 합을 출력
“1111” “2222” -> 3333
해답예시는 하루코딩에 올려 두겠습니다!!!!
'C++ IDE를 위한 과정' 카테고리의 다른 글
C++ 함수 def선언 (0) | 2025.02.10 |
---|---|
C++ 구조체 (0) | 2025.01.23 |
C++ 배열 (0) | 2025.01.22 |
C++ while 문 switch 문 (1) | 2025.01.16 |
C++ 데이터 분석 시작하기 (0) | 2025.01.15 |