산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 문자열:strcpy(), strcat(), strlen(), strcmp() 예

문자열이란 무엇입니까?

문자열은 일련의 문자입니다. C++ 문자열은 std::string 클래스의 개체입니다. 문자는 단일 문자 바이트에 대한 액세스가 허용되는 저장된 바이트 시퀀스입니다.

C++ 문자열은 메모리를 동적으로 할당합니다. 필요한 경우 런타임 중에 문자열에 더 많은 메모리를 할당할 수 있습니다. 메모리 사전 할당이 없으므로 메모리 낭비가 없습니다. 비교, 연결, 변환 등을 포함하여 문자열에 대해 다양한 작업을 수행할 수 있습니다.

이 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'을 배치합니다.

std::문자열

표준 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;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. 코드에 iostream 헤더 파일을 포함합니다. 콘솔에서 읽고 쓸 수 있습니다.
  2. 호출하지 않고 클래스와 기능을 사용하기 위해 std 네임스페이스를 포함합니다.
  3. 프로그램의 논리가 추가되어야 하는 main() 함수를 호출합니다. {는 main() 함수의 본문 시작을 표시합니다.
  4. 문자열을 선언하고 이름을 지정합니다. 문자열은 John 값을 저장합니다. 추가 공간은 널 문자를 저장합니다.
  5. 콘솔에 일부 텍스트 인쇄.
  6. 콘솔에 name이라는 문자열의 값을 출력합니다.
  7. 프로그램이 제대로 실행되면 main() 함수는 값을 반환해야 합니다.
  8. main() 함수 본문의 끝

다음은 C++ 표준 문자열 클래스를 사용하는 또 다른 예입니다.

#include <iostream>
#include <string>
using namespace std;
int main() {

	string name = "Guru99";
	
	cout << "The name is : " << name << endl;

	return 0;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. 코드에 iostream 헤더 파일을 포함합니다. 콘솔에서 읽고 쓸 수 있습니다.
  2. 코드에 표준 문자열 클래스 포함.
  3. 호출하지 않고 클래스와 기능을 사용하기 위해 std 네임스페이스를 포함합니다.
  4. 프로그램의 논리가 추가되어야 하는 main() 함수를 호출합니다. {는 main() 함수의 본문 시작을 표시합니다.
  5. 문자열을 선언하고 이름을 지정합니다. 문자열은 값 Guru99를 저장합니다.
  6. 콘솔의 일부 텍스트와 함께 문자열 이름의 값을 인쇄합니다.
  7. 프로그램이 제대로 실행되면 main() 함수는 값을 반환해야 합니다.
  8. main() 함수 본문의 끝

문자열 함수:

종종 문자열을 조작하고 싶을 것입니다. C++는 이를 위해 사용할 수 있는 광범위한 기능을 제공합니다. 이러한 함수는 CString 클래스에 정의되어 있으므로 함수를 사용하려면 코드에 포함해야 합니다. 몇 가지 논의해 보겠습니다.

strcpy()

이것은 문자열 복사 기능입니다. 한 문자열을 다른 문자열로 복사합니다.

구문:

strcpy(string1, string2);

함수에 대한 두 매개변수 string1 및 string2는 문자열입니다. 이 함수는 문자열 string1을 문자열 1에 복사합니다.

strcat()

이것은 문자열 연결 기능입니다. 문자열을 연결합니다.

구문:

strcat(string1, string2);

함수에 대한 두 매개변수 string1 및 string2는 연결할 문자열입니다. 위의 함수는 문자열 string2를 문자열 string1의 끝에 연결합니다.

strlen()

이것은 문자열 길이 함수입니다. 인수로 전달된 문자열의 길이를 반환합니다.

구문:

strnlen(string1)

매개변수 string1은 길이를 결정할 문자열의 이름입니다. 위의 함수는 string1 문자열의 길이를 반환합니다.

strcmp()

이것은 문자열 비교 기능입니다. 문자열 비교에 사용됩니다.

구문:

strcmp(string1, string2);

위의 함수는 문자열 string1과 string2가 유사하면 0을 반환하고 string1string2이면 0보다 큰 값을 반환합니다.

예:

다음 예제는 위의 문자열 함수를 사용하는 방법을 보여줍니다.

#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;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. 코드에 iostream 헤더 파일을 포함합니다. 콘솔에서 읽고 쓸 수 있습니다.
  2. 코드에 표준 CString 클래스 포함.
  3. 호출하지 않고 클래스와 기능을 사용하기 위해 std 네임스페이스를 포함합니다.
  4. 프로그램의 논리가 추가되어야 하는 main() 함수를 호출합니다. {는 main() 함수의 본문 시작을 표시합니다.
  5. 10자의 문자열을 선언하고 이름을 name1로 지정합니다. 문자열은 값 Guru99를 저장합니다.
  6. 10자의 문자열을 선언하고 이름을 name2로 지정합니다. 문자열은 John 값을 저장합니다.
  7. 10자의 문자열을 선언하고 이름을 name3으로 지정합니다.
  8. len이라는 정수 변수를 선언합니다.
  9. 문자열 name1을 문자열 name3에 복사합니다.
  10. 문자열 name1의 값을 콘솔의 일부 텍스트와 함께 인쇄합니다. Guru99를 인쇄해야 합니다.
  11. name2 문자열을 name1 문자열 끝에 연결합니다. name1의 값은 이제 Guru99John입니다.
  12. 문자열 name1의 값을 콘솔의 일부 텍스트와 함께 인쇄합니다. Guru99John을 인쇄해야 합니다.
  13. name1이라는 문자열의 길이를 결정하고 length 값을 변수 len에 할당합니다.
  14. 콘솔의 다른 텍스트와 함께 len 변수의 값을 인쇄합니다.
  15. 프로그램이 제대로 실행되면 main() 함수는 값을 반환해야 합니다.
  16. main() 함수 본문의 끝

요약


C 언어

  1. 자바 문자열
  2. 자바 열거형 문자열
  3. C++ 변수 및 유형:int, double, char, string, bool
  4. C++의 배열 | 선언 | 초기화 | 배열 예제에 대한 포인터
  5. C++ do… while 루프 예제
  6. 예제가 있는 C++ 포인터
  7. C++ Char 데이터 유형(예제 포함)
  8. 예제를 사용한 C++ 연산자 오버로딩
  9. 프로그램 예제가 있는 C++ 함수
  10. C의 문자열:변수 선언 방법, 초기화, 인쇄, 예제