c23 [C++] 문자열
본문 바로가기
[C++]

[C++] 문자열

by Jarvis2304 2022. 10. 15.

▶ 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

댓글