C 언어
문자열은 일련의 문자입니다. C++ 문자열은 std::string 클래스의 개체입니다. 문자는 단일 문자 바이트에 대한 액세스가 허용되는 저장된 바이트 시퀀스입니다.
C++ 문자열은 메모리를 동적으로 할당합니다. 필요한 경우 런타임 중에 문자열에 더 많은 메모리를 할당할 수 있습니다. 메모리 사전 할당이 없으므로 메모리 낭비가 없습니다. 비교, 연결, 변환 등을 포함하여 문자열에 대해 다양한 작업을 수행할 수 있습니다.
이 C++ 자습서에서는 다음을 배우게 됩니다.
C++는 두 가지 유형의 문자열 선언을 지원합니다.
이 유형의 문자열 선언은 C 프로그래밍 언어에서 도입되었습니다. C++는 계속 지원합니다. null 문자(\0)로 끝나는 문자의 1차원 배열일 뿐입니다. null로 끝나는 문자열에는 문자열을 구성하고 그 뒤에 null이 오는 문자가 있습니다.
아래에 제공된 문자열 선언을 고려하십시오.
char name[5] = {'J', 'o', 'h', 'n', '\0'};
위의 선언은 John이라는 단어를 형성하는 문자열을 생성합니다. 단어는 4자이지만 문자열의 크기는 5입니다. 추가 공간은 널 문자를 보유할 수 있도록 합니다.
배열 초기화 규칙을 사용하여 위의 명령문을 다음과 같이 작성할 수 있습니다.
char name[] = "John";
문자열 상수의 끝에 null 문자를 배치할 필요가 없습니다. C++ 컴파일러는 배열을 초기화할 때 문자열 끝에 자동으로 '\0'을 배치합니다.
표준 C++ 라이브러리는 다양한 문자열 연산을 지원하는 문자열 클래스를 제공합니다. std::string으로 작성됩니다.
이 클래스를 사용하려면 먼저 아래와 같이 #include 전처리기를 사용하여 작업 공간에 포함해야 합니다.
#include<string>
다음으로 string 키워드를 사용하여 문자열을 선언할 수 있습니다. 예:
string name = "John";
위의 명령문은 값 John을 보유하기 위해 name이라는 문자열을 생성합니다.
C++에서는 문자열 이름을 사용하여 문자열 값에 액세스할 수 있습니다. 예:
#include <iostream> using namespace std; int main() { char name[5] = { 'J', 'o', 'h', 'n', '\0' }; cout << "String value is: "; cout << name << endl; return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
다음은 C++ 표준 문자열 클래스를 사용하는 또 다른 예입니다.
#include <iostream> #include <string> using namespace std; int main() { string name = "Guru99"; cout << "The name is : " << name << endl; return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
종종 문자열을 조작하고 싶을 것입니다. C++는 이를 위해 사용할 수 있는 광범위한 기능을 제공합니다. 이러한 함수는 CString 클래스에 정의되어 있으므로 함수를 사용하려면 코드에 포함해야 합니다. 몇 가지 논의해 보겠습니다.
이것은 문자열 복사 기능입니다. 한 문자열을 다른 문자열로 복사합니다.
구문:
strcpy(string1, string2);
함수에 대한 두 매개변수 string1 및 string2는 문자열입니다. 이 함수는 문자열 string1을 문자열 1에 복사합니다.
이것은 문자열 연결 기능입니다. 문자열을 연결합니다.
구문:
strcat(string1, string2);
함수에 대한 두 매개변수 string1 및 string2는 연결할 문자열입니다. 위의 함수는 문자열 string2를 문자열 string1의 끝에 연결합니다.
이것은 문자열 길이 함수입니다. 인수로 전달된 문자열의 길이를 반환합니다.
구문:
strnlen(string1)
매개변수 string1은 길이를 결정할 문자열의 이름입니다. 위의 함수는 string1 문자열의 길이를 반환합니다.
이것은 문자열 비교 기능입니다. 문자열 비교에 사용됩니다.
구문:
strcmp(string1, string2);
위의 함수는 문자열 string1과 string2가 유사하면 0을 반환하고 string1
다음 예제는 위의 문자열 함수를 사용하는 방법을 보여줍니다.
#include <iostream> #include <cstring> using namespace std; int main() { char name1[10] = "Guru99"; char name2[10] = "John"; char name3[10]; int len; strcpy(name3, name1); cout << "strcpy( name3, name1) : " << name3 << endl; strcat(name1, name2); cout << "strcat( name1, name2): " << name1 << endl; len = strlen(name1); cout << "strlen(name1) : " << len << endl; return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
C 언어
문자열은 실제로 null로 끝나는 문자의 1차원 배열입니다. 문자 \0. 따라서 null로 끝나는 문자열은 null 뒤에 오는 문자열을 구성하는 문자를 포함합니다. . 다음 선언 및 초기화는 Hello라는 단어로 구성된 문자열을 생성합니다. 배열의 끝에 널 문자를 유지하려면 문자열을 포함하는 문자 배열의 크기가 Hello라는 단어의 문자 수보다 하나 더 커야 합니다. char greeting[6] = {H, e, l, l, o, \0}; 배열 초기화 규칙을 따르면 위의 명령문을 다음과 같이 작성할 수 있습니다. - char
C++는 다음 두 가지 유형의 문자열 표현을 제공합니다. - C 스타일 문자열입니다. 표준 C++에 도입된 문자열 클래스 유형입니다. C 스타일 문자열 C 스타일 문자열은 C 언어에서 시작되었으며 C++ 내에서 계속 지원됩니다. 이 문자열은 실제로 null로 끝나는 1차원 문자 배열입니다. 문자 \0. 따라서 null로 끝나는 문자열은 null 뒤에 오는 문자열을 구성하는 문자를 포함합니다. . 다음 선언 및 초기화는 Hello라는 단어로 구성된 문자열을 생성합니다. 배열의 끝에 널 문자를 유지하려면 문자열을 포함하는 문자