C++ 문자열은 char 배열에 저장된 문자 시퀀스입니다. 문자열은 단어와 텍스트를 저장하는 데 사용됩니다. 또한 숫자 및 기타 유형의 정보와 같은 데이터를 저장하는 데에도 사용됩니다. C++의 문자열은 다음 중 하나를 사용하여 정의할 수 있습니다. 표준::문자열 클래스 아니면 그 C 스타일 문자 배열.

1. C 스타일 문자열
이 문자열은 다음으로 끝나는 일반 문자 배열로 저장됩니다. 널 문자 ' ' . C++가 C 언어에서 상속받은 문자열 유형입니다.
통사론:
char str[] = 'techcodeview.com';>
예:
C++
// C++ Program to demonstrate strings> #include> using> namespace> std;> int> main()> {> >char> s[] =>'techcodeview.com'>;> >cout << s << endl;> >return> 0;> }> |
>
>산출
techcodeview.com>
2. std::string 클래스
이는 헤더 파일 내부에 정의된 std::string 클래스로 C++에 도입된 새로운 유형의 문자열입니다. 이는 동적 크기, 멤버 함수 등과 같은 기존 C 스타일 문자열에 비해 많은 이점을 제공합니다.
통사론:
std::string str('techcodeview.com');> 예:
C++
// C++ program to create std::string objects> #include> using> namespace> std;> int> main()> {> >string str(>'techcodeview.com'>);> >cout << str;> >return> 0;> }> |
>
>산출
techcodeview.com>
또 다른 방법은 동일한 문자가 계속해서 반복되는 문자열을 만드는 것입니다.
통사론:
std::string str(number,character);>
예:
C++
#include> using> namespace> std;> int> main()> {> >string str(5,>'g'>);> >cout << str;> >return> 0;> }> |
>
>
산출:
ggggg>
C++에서 문자열을 정의하는 방법
C++에서는 문자열을 여러 가지 방법으로 정의할 수 있습니다. 문자열 클래스를 사용하여 표준 라이브러리에서 문자열에 액세스할 수 있습니다. 문자 배열을 사용하여 문자열을 정의할 수도 있습니다. String은 일반적으로 사용되는 방법인 검색, 조작 등 다양한 기능을 제공합니다. 이 방법은 문자열 클래스보다 덜 발전되었음에도 불구하고 더 효율적이고 사용하기 쉽기 때문에 여전히 널리 사용됩니다. C++에서 문자열을 정의하는 방법은 다음과 같습니다.
- 문자열 키워드 사용
- C 스타일 문자열 사용
1. 문자열 키워드 사용
array 키워드를 사용하는 것보다 string 키워드를 사용하여 문자열을 정의하는 것이 쓰기 쉽고 이해하기 쉽기 때문에 더 편리합니다.
통사론:
string s = 'techcodeview.com'; string s('techcodeview.com');> 예:
C++
// C++ Program to demonstrate use of string keyword> #include> using> namespace> std;> int> main()> {> >string s =>'techcodeview.com'>;> >string str(>'techcodeview.com'>);> >cout <<>'s = '> << s << endl;> >cout <<>'str = '> << str << endl;> >return> 0;> }> |
>
>산출
s = techcodeview.com str = techcodeview.com>
2. C 스타일 문자열 사용
strcpy(), strcmp() 및 strcat()와 같은 C 스타일 문자열 라이브러리 함수를 사용하여 문자열을 정의합니다. 이 방법은 더 복잡하고 다른 두 가지 방법만큼 널리 사용되지는 않지만 레거시 코드를 처리하거나 성능이 필요할 때 유용할 수 있습니다.
char s[] = {'g', 'f', 'g', ' '}; char s[4] = {'g', 'f', 'g', ' '}; char s[4] = 'gfg'; char s[] = 'gfg';> 예:
C++
// C++ Program to demonstrate C-style string declaration> #include> using> namespace> std;> int> main()> {> >char> s1[] = {>'g'>,>'f'>,>'g'>,>' '> };> >char> s2[4] = {>'g'>,>'f'>,>'g'>,>' '> };> >char> s3[4] =>'gfg'>;> >char> s4[] =>'gfg'>;> >cout <<>'s1 = '> << s1 << endl;> >cout <<>'s2 = '> << s2 << endl;> >cout <<>'s3 = '> << s3 << endl;> >cout <<>'s4 = '> << s4 << endl;> >return> 0;> }> |
>
>산출
s1 = gfg s2 = gfg s3 = gfg s4 = gfg>
C 스타일 문자열의 또 다른 예:
C++
#include> using> namespace> std;> int> main()> {> >string S =>'Geeeks for Geeks'>;> >cout <<>'Your string is= '>;> >cout << S << endl;> >return> 0;> }> |
>
>산출
Your string is= Geeeks for Geeks>
C++에서 문자열 입력을 받는 방법
문자열 입력은 사용자로부터 문자열을 받아들이는 것을 의미합니다. C++에서. 문자열에 따라 사용자로부터 입력을 받는 다양한 유형이 있습니다. 가장 일반적인 방법은 다음을 사용하여 입력을 받는 것입니다. 식사 C++에서 추출 연산자(>>)를 사용하는 키워드입니다. 문자열을 입력으로 사용하는 방법은 다음과 같습니다.
- 식사
- getline
- 문자열 스트림
1. Cin 사용하기
문자열 입력을 받는 가장 간단한 방법은 다음을 사용하는 것입니다. 식사 스트림 추출 연산자(>>)와 함께 명령을 사용합니다.
통사론:
cin>>s;>
예:
C++
mysql 사용자 생성
// C++ Program to demonstrate string input using cin> #include> using> namespace> std;> int> main() {> >string s;> > >cout<<>'Enter String'>< cin>>s; 시합<<'String is: '< return 0; }> |
>
>산출
Enter String String is:>
산출:
Enter String techcodeview.com String is: techcodeview.com>
2. getline 사용
그만큼 C++의 getline() 함수 입력 스트림에서 문자열을 읽는 데 사용됩니다. 헤더파일에 선언되어 있습니다.
통사론:
getline(cin,s);>
예:
C++
클러스터링
// C++ Program to demonstrate use of getline function> #include> using> namespace> std;> int> main()> {> >string s;> >cout <<>'Enter String'> << endl;> >getline(cin, s);> >cout <<>'String is: '> << s << endl;> >return> 0;> }> |
>
>산출
Enter String String is:>
산출:
Enter String techcodeview.com String is: techcodeview.com>
3. 스트링스트림 사용
그만큼 stringstream 클래스 C++는 한 번에 여러 문자열을 입력으로 사용하는 데 사용됩니다.
통사론:
stringstream stringstream_object(string_name);>
예:
C++
// C++ Program to demonstrate use of stringstream object> #include> #include> #include> using> namespace> std;> int> main()> {> >string s =>' techcodeview.com to the Moon '>;> >stringstream obj(s);> >// string to store words individually> >string temp;> >//>> 연산자는 stringstream 개체에서 읽습니다.> >while> (obj>> 온도) {> >cout << temp << endl;> >}> >return> 0;> }> |
>
>산출
techcodeview.com to the Moon>
문자열을 함수에 전달하는 방법?
배열을 함수에 전달하는 것과 같은 방식으로 C++의 문자열은 문자 배열로 함수에 전달될 수 있습니다. 다음은 예제 프로그램입니다:
예:
C++
// C++ Program to print string using function> #include> using> namespace> std;> void> print_string(string s)> {> >cout <<>'Passed String is: '> << s << endl;> >return>;> }> int> main()> {> >string s =>'techcodeview.com'>;> >print_string(s);> >return> 0;> }> |
>
>산출
Passed String is: techcodeview.com>
포인터와 문자열
C++의 포인터는 주소를 기호로 표현한 것입니다. 이를 통해 프로그램은 참조별 호출을 시뮬레이션하고 동적 데이터 구조를 생성 및 조작할 수 있습니다. 포인터를 사용하면 문자열의 시작 주소인 문자열의 첫 번째 문자를 얻을 수 있습니다. 아래와 같이 포인터를 통해 주어진 문자열에 접근하고 인쇄할 수 있습니다.
예:
C++
// C++ Program to print string using pointers> #include> using> namespace> std;> int> main()> {> >string s =>'Geeksforgeeks'>;> >// pointer variable declared to store the starting> >// address of the string> >char>* p = &s[0];> >// this loop will execute and print the character till> >// the character value is null this loop will execute and> >// print the characters> >while> (*p !=>' '>) {> >cout << *p;> >p++;> >}> >cout << endl;> >return> 0;> }> |
>
>산출
Geeksforgeeks>
C++에서 문자열과 문자 배열의 차이점
문자열과 문자 배열의 주요 차이점은 문자열은 변경할 수 없지만 문자 배열은 변경할 수 없다는 것입니다.
| 끈 | 문자 배열 |
|---|---|
| 문자열은 문자열 스트림으로 표현될 수 있는 개체를 정의합니다. | 널 문자는 문자 배열을 종료합니다. |
| 문자열은 객체로 표시되므로 문자열에서 배열 붕괴가 발생하지 않습니다. | 위협 배열 붕괴 문자 배열의 경우 존재합니다. |
| 문자열 클래스는 문자열을 조작하기 위한 다양한 함수를 제공합니다. | 문자 배열은 문자열을 조작하는 내장 함수를 제공하지 않습니다. |
| 메모리는 동적으로 할당됩니다. | 문자 배열의 크기는 정적으로 할당되어야 합니다. |
에 대해 더 많이 알아보세요. C++에서 문자열과 문자 배열의 차이점
C++ 문자열 함수
C++에서는 문자열 복사 및 연결을 위한 strcpy() 및 strcat() 함수와 같이 문자열 조작에 사용되는 일부 내장 함수를 제공합니다. 그 중 일부는 다음과 같습니다:
| 기능 | 설명 |
|---|---|
| 길이() | 이 함수는 문자열의 길이를 반환합니다. |
| 교환() | 이 함수는 두 문자열의 값을 교환하는 데 사용됩니다. |
| 크기() | 문자열의 크기를 찾는 데 사용됩니다. |
| 크기 조정() | 이 함수는 문자열의 길이를 주어진 문자 수만큼 조정하는 데 사용됩니다. |
| 찾다() | 매개변수에 전달된 문자열을 찾는 데 사용됩니다. |
| push_back() | 이 함수는 전달된 문자를 문자열 끝에 푸시하는 데 사용됩니다. |
| 팝백() | 이 함수는 문자열에서 마지막 문자를 팝하는 데 사용됩니다. |
| 분명한() | 이 함수는 문자열의 모든 요소를 제거하는 데 사용됩니다. |
| strncmp() | 이 함수는 전달된 두 문자열의 최대 처음 num 바이트를 비교합니다. |
| strncpy() | 이 함수는 최대 n바이트의 src가 복사된다는 점을 제외하면 strcpy() 함수와 유사합니다. |
| strrchr() | 이 함수는 문자열에서 마지막으로 나타나는 문자를 찾습니다. |
| 깨진() | 이 함수는 소스 문자열의 복사본을 대상 문자열의 끝에 추가합니다. |
| 찾다() | 이 함수는 문자열 내의 특정 부분 문자열을 검색하고 부분 문자열의 첫 번째 문자 위치를 반환하는 데 사용됩니다. |
| 바꾸다() | 이 함수는 이전 값과 동일한 [첫 번째, 마지막) 범위의 각 요소를 새 값으로 바꾸는 데 사용됩니다. |
| 하위 문자열() | 이 함수는 주어진 문자열에서 하위 문자열을 만드는 데 사용됩니다. |
| 비교하다() | 이 함수는 두 문자열을 비교하고 결과를 정수 형식으로 반환하는 데 사용됩니다. |
| 삭제() | 이 함수는 문자열의 특정 부분을 제거하는 데 사용됩니다. |
C++ 문자열 반복자 함수
C++에 내장된 문자열 반복자 함수는 프로그래머에게 문자열 요소를 쉽게 수정하고 탐색할 수 있는 방법을 제공합니다. 이러한 기능은 다음과 같습니다.
| 기능 | 설명 |
|---|---|
| 시작하다() | 이 함수는 문자열의 시작 부분을 가리키는 반복자를 반환합니다. |
| 끝() | 이 함수는 문자열의 끝을 가리키는 반복자를 반환합니다. |
| 찾기() | 이 함수는 문자열의 마지막 발생을 찾는 데 사용됩니다. |
| rbegin() | 이 함수는 문자열의 끝을 가리키는 역방향 반복자를 반환합니다. |
| 세우다() | 이 함수는 문자열의 시작 부분을 가리키는 역방향 반복자를 반환합니다. |
| cbegin() | 이 함수는 문자열의 시작 부분을 가리키는 const_iterator를 반환합니다. |
| 몇() | 이 함수는 문자열의 끝을 가리키는 const_iterator를 반환합니다. |
| 크르비긴() | 이 함수는 문자열의 끝을 가리키는 const_reverse_iterator를 반환합니다. |
| 신조() | 이 함수는 문자열의 시작 부분을 가리키는 const_reverse_iterator를 반환합니다. |
예:
C++
// C++ Program to demonstrate string iterator functions> #include> using> namespace> std;> int> main()> {> >// declaring an iterator> >string::iterator itr;> >// declaring a reverse iterator> >string::reverse_iterator rit;> >string s =>'techcodeview.com'>;> >itr = s.begin();> > >cout <<>'Pointing to the start of the string: '> << *itr<< endl;> >itr = s.end() - 1;> >cout <<>'Pointing to the end of the string: '> << *itr << endl;> >rit = s.rbegin();> >cout <<>'Pointing to the last character of the string: '> << *rit << endl;> >rit = s.rend() - 1;> >cout <<>'Pointing to the first character of the string: '> << *rit << endl;> >return> 0;> }> |
>
>산출
Pointing to the start of the string: G Pointing to the end of the string: s Pointing to the last character of the string: s Pointing to the first character of the string: G>
문자열 용량 함수
C++에서는 문자열 용량 함수를 사용하여 문자열 크기와 용량을 관리합니다. 용량의 주요 기능은 다음과 같습니다.
| 기능 | 설명 |
|---|---|
| 길이() | 이 함수는 문자열의 크기를 반환하는 데 사용됩니다. |
| 용량() | 이 함수는 컴파일러가 문자열에 할당한 용량을 반환합니다. |
| 크기 조정() | 이 함수를 사용하면 문자열 크기를 늘리거나 줄일 수 있습니다. |
| Shrink_to_fit() | 이 기능은 용량을 줄여 최소값과 동일하게 만듭니다. |
예:
C++
#include> using> namespace> std;> int> main()> {> >string s =>'techcodeview.com'>;> > >// length function is used to print the length of the string> >cout <<>'The length of the string is '> << s.length() << endl;> > >// capacity function is used to print the capacity of the string> >cout <<>'The capacity of string is '> << s.capacity()<< endl;> > >// the string.resize() function is used to resize the string to 10 characters> >s.resize(10);> > >cout <<>'The string after using resize function is '> << s << endl;> > >s.resize(20);> > >cout <<>'The capacity of string before using shrink_to_fit function is '><< s.capacity() << endl;> > >// shrink to fit function is used to reduce the capacity of the container> >s.shrink_to_fit();> >cout <<>'The capacity of string after using shrink_to_fit function is '><< s.capacity() << endl;> >return> 0;> }> |
>
>산출
The length of the string is 13 The capacity of string is 15 The string after using resize function is GeeksforGe The capacity of string before using shrink_to_fit function is 30 The capacity of string...>
결론적으로 이 기사에서는 문자 배열과 문자열 클래스를 사용하여 C++에서 문자열을 정의하는 방법을 설명합니다. 문자열 클래스는 고급 기능을 제공하는 반면 문자 배열은 기본 기능을 제공하지만 효율적이고 사용하기 쉽습니다. 이 기사에서는 사용자로부터 입력을 받는 다양한 방법에 대해서도 논의했습니다.
std::string 클래스에 대한 자세한 내용은 다음 기사를 참조하세요. C++의 std::string 클래스