C++에서 문자열 길이를 취득하는 방법에 대해 살펴보겠습니다.
문자열 길이를 취득하기 위해서는 strlen 함수를 사용합니다.
strlen 작성 방법을 보겠습니다.
strlen(값)
size_t strlen(const char *str);
파라미터로 문자열 길이를 취득하고 싶은 값을 지정합니다.
반환값으로는 문자열 길이를 반환합니다.
길이를 size_t 타입으로 반환하는데, size_t는 객체나 값을 포함할 수 있는 최대 크기의 데이터를 표현하는 타입입니다.
정수 타입인 unsigned 형으로 생각하면 됩니다.
문자열 길이를 취득하는 샘플 소스를 보겠습니다.
#include <stdio.h>
#include <cstring>
int main()
{
char str1[20] = "HelloPonyo";
char str2[20] = "He\0lloPonyo";
printf("str1 문자열 길이 : %d\n", strlen(str1));
printf("str2 문자열 길이 : %d\n", strlen(str2));
return 0;
}
결과
str1 문자열 길이 : 10
str2 문자열 길이 : 2
변수 str1문자열 길이는 10개입니다.
str1 변수에 처음 할당한 문자열 길이는 20이지만, 실제로 저장된 문자열은 10개입니다.
주의할 점으로 str2 변수 문자열 길이입니다.
str2 변수에 할당한 길이는 20개입니다.
그리고 실제로 저장된 문자열 길이도 str1보다 길게 설정했습니다.
하지만 strlen 함수로 문자열 길이를 출력해보면 2개라고 출력되었습니다.
문자열 중간에 \0 문자가 포함되어있습니다.
\0가 나타나면서 문자열이 끝난 줄 \0 앞에까지 문자열 길이를 취득하게 된 것입니다.
댓글