본문 바로가기

C

[C언어] 문자열: strlen()

반응형

strlen() 함수는 <string.h> 헤더파일에 정의되어 있다.

NULL 전까지 문자열의 길이를 읽어온다.

#include<stdio.h>
#include<string.h>   // 문자열 처리 함수 : strlen(), ...

int main(){

   char str1[] = "hello";
   char str2[] = "";   // ""는 NULL을 의미한다.
   int len = 0;

   printf("str1의 길이 : %d\n", strlen(str1));
   printf("str1의 크기 : %d\n", sizeof(str1));             // sizeof()는 NULL을 포함한 값의 크기를 구해준다.
   printf("str2의 길이 : %d\n", strlen(str2));
   printf("str2의 크기 : %d\n", sizeof(str2));
   printf("'hi, bye'의 길이 : %d\n", strlen("hi, bye"));   // strlen() 함수 안에 직접 문자열을 입힐 수 있다.

   /* str1에서 "hell"만 출력한다. */
   len = strlen(str1);      // str1의 문자열 길이를 len에 저장한다.
   if(len > 0)
      str1[len-1] = '\0';   // strlen()은 'NULL'까지의 문자열 길이를 읽어오기 때문에,
                            // 출력하고 싶은 길이의 다음 문자에 '\0'을 넣어준다.
                            // "hello"의 "o"를 'NULL'로 바꾸어 준다.
   printf("str1 = %s\n", str1);

   return 0;
}

 

반응형