▶ C++의 문자열 표현 방식
(1) C 스트링 방식 - C언에서 문자열을 표현하는 방법 ("\0"로 끝나는 문자 배열 이용)
(2) C++ 스트링 방식 - 문자열을 객체로 다루는 방법 (string 클래스 이용, C++표준 방법)
▶ string 클래스
- C++ 표준방식
- 선언부에 #include <string.h>이나 #include <cstring> (using namespace std; 와 함께 선언)을 선언하여 사용
- 문자열 복사, 비교, 수정 등을 위한 다양한 함수와 연산자 제공
- C언어에서 사용한 함수 사용 가능 ex) strcmp(), strlen(), strcpy() 등
- 객체 지향적
- 문자열의 크기에 따른 제약 없음 (string 클래스가 스스로 문자열 크기에 맞게 내부 버퍼 조절)
string 객체 생성 |
|
stirng str | 빈 문자열을 가진 스트링 객체 생성 |
string str("Son") string str = "Son" string str; str = "Son" |
"Son"으로 선언된 문자열 str생성 |
string str2(str) | str를 복사한 str2 문자열 생성 |
char str[] = { 'S', 'o', 'n','\0'}; string str2(str1) |
"Son"문자열을 가진 str2 문자열 생성 |
string *p = new string("Son"); | string 객체의 동적 생성 |
string str = "123"; int n = stoi(str); |
stoi()함수를 이용하여, 문자열을 숫자로 변환 |
예제 1) string 클래스를 사용한 문자열 프로그램 //string 클래스가 마치 변수처럼 사용
#include <iostream>
#include <cstring>
using namespace std;
int main(void)
{
string player("손흥민");
string team("토트넘 훗스퍼");
cout << player << "은 " << team << "선수 이다.";
return 0;
}
출력결과
손흥민은 토트넘 훗스퍼선수 이다.
예제 2) string 객체의 동적 생성
- new/delete를 이용하여 문자열을 동적 생성/반환 가능
예제 3) String 배열 선언과 문자열 키 입력 응용
예제 4) 문자열을 입력 받고 회전시키기
예제 5) 문자열 처리 응용 - 덧셈 문자열을 입력 받아 덧셈 실행
예제 6) 문자열 find 및 replace
참고문헌: 명품 C++ Programming
'[C++]' 카테고리의 다른 글
[C++] 참조 (0) | 2022.10.23 |
---|---|
[C++] 인자 전달 방식 (0) | 2022.10.15 |
[C++] this 포인터 (0) | 2022.10.14 |
[C++] 동적 메모리 할당 (0) | 2022.10.08 |
[C++] 객체 배열 (0) | 2022.10.08 |
댓글