string functions c
이 자습서에서는 getline 하위 문자열, 문자열 길이, 문자열 찾기, 문자열 분할 등과 같은 C ++의 인기있는 문자열 함수 중 일부에 대해 설명합니다.
C ++에는 문자열이라고도하는 일련의 문자에 사용되는 문자열 클래스가 있습니다. 이 수업은 std :: 문자열 . 이 클래스는 문자열을 문자 바이트 시퀀스로 저장하고 문자열을 조작, 액세스 및 읽을 수있을뿐만 아니라 단일 문자에 액세스하고 조작 할 수있는 함수를 제공합니다.
C ++에서 char를 int로 변환하는 방법
=> 전문가의 전체 C ++ 과정을 보려면 여기를 방문하십시오.
학습 내용 :
C ++ 문자열 함수
C ++ 문자열은 일련의 문자입니다. C ++에서 문자열을 정의 할 때 문자열을 사용합니다.
std :: string 클래스에 불과한 키워드입니다. 이 문자열 클래스는 문자열 객체에 대해 다른 작업을 수행하는 문자열 읽기, 문자열 조작, 액세스 등 다양한 기능을 지원합니다. 자주 사용하는 기능은 다음과 같습니다.
하지 마라 | 문자열 함수 | 기술 |
---|---|---|
1 | Getline | 스트림에서 문자열로의 행을 가져옵니다. |
두 | substr | 주어진 문자열의 하위 문자열을 가져옵니다. |
4 | 길이, strlen | 문자열 길이 가져 오기 |
5 | 찾기 | 문자열에서 콘텐츠 찾기 |
6 | 구분 기호가있는 Strtok, substr | 토큰의 분할 문자열 |
getline C ++
기능 프로토 타입 : istream & getline (istream & is, string & str)
매개 변수 : => 문자가 추출되는 istream 객체입니다.
str => 추출 된 문자를 저장하는 데 사용되는 문자열 객체입니다.
반환 값 : 반환 값은 istream과 동일합니다. 내부적으로 getline의 실행은 다음과 같이 특정 내부 플래그를 설정합니다.
깃발 | 오류 설명 |
---|---|
eofbit | 문자 소스의 끝에 도달했습니다. |
failbit | 입력은이 유형의 개체에 대한 유효한 텍스트 표현으로 해석 될 수 없습니다. |
배드 비트 | 위의 두 가지를 제외한 기타 오류 |
기술: getline은 표준 라이브러리 함수입니다. 이 함수는 istream과 같은 표준 입력 스트림에서 행 또는 문자열을 읽는 데 사용됩니다. 구분 문자로 간주되는 ' n'이 나타날 때까지 행 또는 문자열을 읽습니다.
getline의 다른 버전으로 세 번째 매개 변수 'char delim'을 지정할 수 있습니다. 이것은 명시 적으로 지정된 구분 문자입니다. 이 함수에서는 지정된 구분 문자를 만날 때까지 텍스트 또는 문자열 행을 읽습니다.
다음은 getline의 사용법을 보여주는 간단한 예입니다.
예:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< 산출:
입력 문자열 입력 :
C ++ 튜토리얼
입력 : C ++ 자습서

위의 예에서는 getline 함수를 사용하여 입력 문자열을 읽습니다. 입력 한 문자열 또는 텍스트는‘ n’이 나타날 때까지 mystr 문자열 개체로 읽혀집니다.
C ++ Substr
기능 프로토 타입 : string substr (size_t startpos, size_t endpos)
매개 변수 : startpos => 부분 문자열을 추출 할 시작 위치.
endpos => 하위 문자열의 끝 위치.
반환 값 : 부모 문자열의 하위 문자열 인 문자열을 반환합니다.
기술: 이 함수는 주어진 문자열의 하위 문자열을 반환합니다. 이 함수는 시작 및 끝 위치를 매개 변수로 사용하고이 위치 사이의 문자 시퀀스를 반환합니다.
예:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< 산출:
입력 문자열 : SoftwareTestingHelp
Substring (0,8) : 소프트웨어

C ++ 길이
문자열의 길이는 문자열에있는 문자 수입니다. C ++에서 문자열의 std :: string 객체 표현은 length () 함수를 사용하여 문자열의 길이를 반환합니다.
이 외에도 문자열의 크기를 반환하는 크기 메서드도 있습니다. 길이 () 함수에 대해 아래 표시된 예의 크기 방법을 사용했습니다. 문자열의 길이를 반환하는 또 다른 함수는 'strlen'입니다. 이 함수는 문자 배열로 표시된 문자열의 길이를 반환합니다.
예제와 함께 두 기능을 하나씩 살펴 보겠습니다.
길이()
기능 프로토 타입 : size_t 길이 ()
매개 변수 : 길이를 알아낼 문자열에 의해 호출됩니다.
반환 값 : 문자열의 길이 인 size_t 유형 매개 변수를 리턴합니다.
여러 직원을위한 최고의 작업 표 앱
기술: 이 함수는 호출되는 문자열 개체의 길이를 찾습니다.
예:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< 산출:
입력 문자열 : SoftwareTestingHelp
문자열의 길이 (길이 방법 사용) : 19
문자열의 크기 (크기 방법 포함) : 19

위의 프로그램에서 우리는 각각 문자열 객체의 길이와 크기를 반환하는 std :: string의 길이와 크기 함수를 사용합니다. 길이와 크기는 문자열의 문자 수를 반환하므로 동일한 출력을 얻습니다.
strlen ()
기능 프로토 타입 : size_t strlen (const char * str);
매개 변수 : str => 길이를 알아낼 널로 끝나는 문자열에 대한 포인터.
반환 값 : R 문자열 str의 길이를 나타내는 size_t 값을 반환합니다.
기술: strlen () 함수는 null로 끝나는 문자열의 길이를 반환합니다. strlen 함수에서 매개 변수로 사용되는 문자열은 널로 끝나는 문자 배열입니다.
예:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
산출:
mystr1의 길이 = 23
mystr2의 길이 = 25
mystr2가 mystr1보다 깁니다.

위의 프로그램에서 우리는 두 개의 다른 문자열을 정의했으며 strlen 함수를 사용하여 개별 길이를 찾습니다. 그런 다음 두 문자열의 길이를 비교하고 문자열이 같거나 같지 않은지 확인합니다.
C ++ 찾기
기능 프로토 타입 : size_t 찾기 (문자열 mysub)
매개 변수 : mysub => 부모 문자열 내부에서 찾을 문자열 개체입니다.
반환 값 : size_t => 상위 문자열에서 하위 문자열의 첫 번째 위치
기술: 문자열의 찾기 기능은 상위 문자열에서 하위 문자열의 위치를 찾는 데 사용됩니다. 이 함수는 상위 문자열에 의해 호출되며 위치를 찾을 하위 문자열이 매개 변수로 전달됩니다. 하위 문자열이 없으면 빈 위치가 반환됩니다.
예:
Salesforce 관리자 인터뷰 질문 및 답변
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< 산출:
문자열 테스트의 첫 번째 발생 : 8
문자열 도움말의 첫 번째 발생 : 15

이 프로그램은 문자열을“SoftwareTestingHelp”로 정의합니다. find 함수를 사용하여 부모 문자열에서 'Test'문자열의 첫 번째 항목을 찾습니다. 다음으로 '도움말'문자열의 발생을 찾습니다. 출력은 검색된 문자열의 발생 위치입니다.
문자열 분할
구분 기호 또는 토큰을 사용하여 문자열을 분할하는 것은 유용한 작업입니다. C ++에서는 문자열 표현이 두 개 이상이므로 문자열을 분할하는 데 다른 접근 방식을 사용할 수 있습니다. 여기에서는 문자열을 분할하는 두 가지 방법에 대해 설명합니다.
std :: string 객체 분할
문자열 개체를 분할하는 가장 쉬운 방법은 개체에 'substr'함수를 사용하고 구분 기호를 끝 위치로 제공하여 부분 문자열을 얻는 것입니다. 이런 식으로 전체 문자열을 순회 할 때까지 구분 기호에서 문자열을 분할 할 수 있습니다.
먼저 'find'함수를 사용하여 구분 기호의 위치를 찾은 다음 하위 문자열을 찾아 마지막으로 각 토큰을 출력하는 아래 예제를 살펴 보겠습니다.
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
산출:
이
이다
소프트웨어
테스트
도움

위의 프로그램에서 볼 수 있듯이 주어진 문자열을 분할하는 데 사용할 구분 기호를 지정합니다. 루프에서 find 함수를 사용하여 구분 기호의 발생을 반복해서 찾아서 substr 함수에 전달하고 하위 문자열을 검색합니다. 그런 다음 얻은 각 토큰이 출력으로 표시됩니다.
strtok 함수를 사용하여 문자형 배열 분할
문자열을 토큰 화하는 또 다른 방법 (구분 기호를 사용하여 문자열 분할)은 'strtok'함수를 사용하는 것입니다. 아래에서 'strtok'함수의 세부 사항에 대해 설명합니다.
기능 프로토 타입 : char * strtok (char str (), const char * delim)
매개 변수 : str () => 분할 할 문자열.
Delim => 문자열이 분할 될 구분 기호입니다.
반환 값 : 부모 문자열을 분할 한 후 다음 토큰을 반환합니다.
기술: strtok 함수는 주어진 구분 기호에서 주어진 문자열을 토큰으로 분할합니다. 이 함수는 주어진 문자열에 대한 모든 토큰을 얻기 위해 루프에서 호출되어야합니다. 남은 토큰이 더 이상 없으면 함수는 null을 반환합니다.
예:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< 산출:
이
이다
소프트웨어
테스트
도움

이 프로그램에서는 문자열과 구분 기호를 인수로 사용하는 strtok 함수를 사용합니다. 그런 다음 지정된 구분 기호에 따라 문자열을 토큰으로 분할하고 개별 토큰을 표시합니다.
결론
이 튜토리얼에서 C ++ 문자열에 사용되는 일반적인 중요한 함수 몇 가지를 살펴 보았습니다.
우리는 입력 문자열 읽기, 문자열 찾기, 부모 문자열의 하위 문자열, 문자열 길이, 문자열 분할 등의 기능을 변형과 함께 논의했습니다. 이러한 함수는 문자열을 효율적으로 읽고 조작하는 데 도움이됩니다.
다음 자습서에서는 C ++ 문자열과 함께 사용되는 일부 변환 함수를 자세히 살펴 보겠습니다.
=> 모두를위한 전체 C ++ 교육 시리즈를 보려면 여기를 방문하십시오.
추천 도서