문자열 Strings
문자열의 포인터
문자열은 .c_str() 멤버 함수를 갖고 있으며, 이 함수는 첫 번째 요소를 가리키는 포인터를 반환합니다. 또한, 우리의 문자열이 구성된 null로 종료된 문자 배열을 가리키는 포인터를 반환한다고도 말합니다.
#include <iostream>
#include <string>
int main()
{
std::string s = "Hello World.";
std::cout << s.c_str();
}
//Hello World.
이 멤버 함수는 const char* 유형이며, 우리의 std::string 변수를 const char* 매개변수를 받는 함수에 전달하고자 할 때 유용합니다.
부분 문자열(Substrings)
.substr()
문자열에서 Substrings을 생성하기 위해 .substr() 멤버 함수를 사용합니다. 이 함수는 주어진 위치에서부터 특정 길이를 갖는 부분 문자열을 반환합니다. 함수의 형식은 .substring(시작_위치, 길이)입니다.
#include <iostream>
#include <string>
int main()
{
std::string s = "Hello World.";
std::string mysubstring = s.substr(6, 5);
std::cout << "The substring value is: " << mysubstring;
}
//The substring value is: World
이 예제에서는 "Hello World." 값을 갖는 주 문자열이 있습니다. 그런 다음 "World" 값만을 가진 부분 문자열을 생성합니다. 이 부분 문자열은 주 문자열의 여섯 번째 문자부터 시작하며, 길이는 다섯 글자입니다.
.find()
문자열에서 부분 문자열을 찾기 위해 .find() 멤버 함수를 사용합니다. 이 함수는 문자열 내에서 부분 문자열을 검색합니다. 부분 문자열이 발견되면 함수는 첫 번째 발견된 부분 문자열의 위치를 반환합니다.
이 위치는 부분 문자열이 주 문자열에서 시작하는 문자의 위치입니다. 부분 문자열이 발견되지 않으면 함수는 std::string::npos라는 값을 반환합니다. 함수 자체의 유형은 std::string::size_type입니다.
#include <iostream>
#include <string>
int main()
{
std::string s = "This is a Hello World string.";
std::string stringtofind = "Hello";
std::string::size_type found = s.find(stringtofind);
if (found != std::string::npos)
{
std::cout << "Substring found at position: " << found;
}
else
{
std::cout << "The substring is not found.";
}
}
// Substring found at position: 10
여기에는 주 문자열과 찾고자 하는 부분 문자열이 있습니다. 부분 문자열을 .find() 함수에 인수로 제공합니다. 함수의 반환 값을 found 변수에 저장합니다. 그런 다음 이 변수의 값을 확인합니다. 값이 std::string::npos와 같지 않으면 부분 문자열이 발견된 것입니다. 메시지와 주 문자열에서 부분 문자열이 발견된 문자의 위치를 출력합니다.
'IT > C++' 카테고리의 다른 글
C++ 수명 (Lifetime) (0) | 2023.05.30 |
---|---|
C++ Automatic Type Deduction (auto) (0) | 2023.05.30 |
C++ References 정리 (0) | 2023.05.28 |
C++이란? (0) | 2023.05.27 |
C++ Pointers 정리 (0) | 2023.05.27 |
댓글