본문 바로가기

C++

C++ 문자열 함수

문자열 함수들은 #include <string.h>안에 포함되어있다.

 

strcat_s

문자열 을 연결해주는 함수

2개의 문자열을 하나로 합쳐주는 역활의 함수입니다.

void main()
{
	char str1[7] = "AAA";
	char str2[7] = "BBB";
	strcat_s(str1, str2);
	cout << str1 << endl;
}

출력 하게되면 AAABBB라는 결과물을 얻을수있습니다.

strcat_s를 사용할때 주의사항

1. 문자열의 형태를 지니고 있는지 검사하지 않습니다.

2. 확보한 공간의 크기를 체크하지 않습니다. 만약 크기보다 많은 문자열을 넣을려고하면 애러가 발생합니다.

 

strcpy_s

문자열을 복사해주는 함수

1개의 문자열을 다른 문자열에 복사합니다.

void main()
{
	char str1[7];
	char str2[7] = "AAA";
	strcpy_s(str1,7, str2);
	cout << str1 << endl;
}

str2의 문자열을 str1로 복사하여 AAA가출력됩니다. 가운데 7은 넘길 배열의 크기입니다.

strcpy_s를 사용할때 주의사항

1. 받을 문자열이 복사할 문자열보다 짧다면 에러가 발생합니다.

 

strlen

문자열의 길이를 구하는 함수

void main()
{
	char str1[7] = "AAA";
	cout << (int)strnlen_s(str1,100) << endl;
}

str1의 문자열 길이를 반환해줍니다. 뒤에 100은 maxValue입니다.

 

strcmd

문자열을 비교하는 함수

2개의 문자열을 받아 2개의 문자열이 같은 문자열인지 판단한다.

void main()
{
	char str1[6] = "AAA"; 
	char str2[6] = "AAA"; 

	if (!strcmp(str1, str2))
	{
		cout << "같다" <<endl;
	}
	else
	{
		cout << "다르다" << endl;
	}
}

같으면 false(0)를 다르면 true(-1)을 반환한다.

 

strstr

문자열 안에서 문자열을 검색하는 방법

1개의 문자열에서 해당 문자열의 주소를 반환한다.

void main()
{
	char str1[16] = "Hello World"; 

	char* ptr = strstr(str1, "lo");

	cout << ptr << endl;
}

출력 하면 결과는 lo World가 출력되는데 strstr이 lo의 주소를 반환하고 그뒤에 문자열을 출력하였기 때문이다.

 

 

'C++' 카테고리의 다른 글

C 파일입출력  (0) 2020.09.04
C++ malloc,callco,new  (0) 2020.09.01
C++ char*와char[]  (0) 2020.08.28
C++ Point  (0) 2020.08.26
C++ Reference  (0) 2020.08.24