[C++] 29. 문자열: string이란?
2022. 6. 14. 16:07ㆍ코딩 1막 <C++개념편>
728x90
프로그래밍에서, 스트링(string)이란 문자열이나 비트열과 같이 기호나 값들이 연속되는 것을 말한다.
문자열의 경우에는 그 값들이 따옴표 내에 들어 있는 경우가 많다.
예를 들어, HELLO이라고 되어 있으면 대개 변수명을 가리키지만, "HELLO"과 같이 표현되어 있으면 문자열을 나타내는 것이다.
#include <iostream>
#include <string>
using namespace std;
// 문자열인 스트링(string)을 쓰는 이유
// 다양한 기능을 가졌기 때문이다(기능을 가진 함수의 클래스)
// textRPG를 만들때 유용하다
void main()
{
char charText[] = "Hello World"; // 문자
string stringText = "Hello World"; // 문자열
cout << charText << endl; // Hello World 출력
cout << stringText << endl; // Hello World 출력
cout << charText[0] << endl; // H 출력
cout << stringText[0] << endl; // H 출력
// string변수.length() : 문자의 길이를 반환
cout << stringText.length() << endl; // 11 출력
// string변수.compare(타겟문자열) : 문자열이 타겟문자열과 같은지 비교
// 같으면 0을 반환, 작으면 1을 반환, 크면 -1을 반환
cout << stringText.compare("Hello World") << endl; // 0 출력
// stringText.substr() : 문자열 전체 반환
cout << stringText.substr() << endl; // Hello World 출력
// stringText.substr(시작인덱스) : 시작인덱스부터 뒤로 쭉 문자열 반환
cout << stringText.substr(6) << endl; // World 출력
// stringText.substr(시작인덱스,길이) : 시작인덱스부터 길이만큼 문자열 반환
cout << stringText.substr(6,2) << endl; // Wo 출력
// stringText.find(찾을문자열) : 찾을문자열이 있는지 검색하고 있으면 시작인덱스 반환
cout << stringText.find(" ") << endl; // 5 출력
// find로 찾지 못했을 때 나오는 수
cout << string::npos << endl; // 4294967295 출력
if (stringText.find("*") == string::npos)
{
cout << "해당 문자열을 찾을 수 없었습니다" << endl; // 해당 문자열을 찾을 수 없었습니다 출력
}
// find로 찾을문자열이 존재할 때
if (stringText.find(" ") != string::npos)
{
cout << stringText.substr(0, stringText.find(" ")) << endl; // Hello 출력
}
if (stringText.find(" ") != string::npos)
{
cout << stringText.substr(stringText.find(" ")) << endl; // World 출력
}
}
728x90
'코딩 1막 <C++개념편>' 카테고리의 다른 글
[C++] 31. 구조체 선언부와 구현부의 분리 (0) | 2022.06.16 |
---|---|
[C++] 30. 벡터(vector)란 무엇인가? (0) | 2022.06.14 |
[C++] 28. 가상함수 (0) | 2022.06.10 |
[C++] 27. 상속의 오버라이딩 (0) | 2022.06.10 |
[C++] 26. 상속 (0) | 2022.06.10 |