본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 strnlen() 문자열 길이 구하기 함수

C언어 strnlen() 문자열 길이 구하기 함수

· 댓글개 · 바다야크

C strnlen() 문자열 길이 구하기 함수 strnlen()

C언어에서 문자열 길이를 구하는 함수에는 strlen()과 strnlen()이 있습니다. strlen()은 문자열만 인수로 받지만, strnlen()은 최대 길이까지 입력 받습니다. 이유는 인수로 받은 문자열 변수가 초기화가 안 되었고 NULL 문자가 없을 경우 실행 중 위험을 줄이기 위함입니다. 

즉, strnlen()은 strlen()처럼 NULL까지의 길이를 찾되 특정 길이 이상은 검색하지 않도록 합니다.

  • 헤더: string.h
  • 형태: size_t strlen( const char *str, size_t maxlen)
  • 인수: char *str 길이를 구할 문자열
    size_t maxlen 길이를 구할 최대 길이
  • 반환: 지정한 최대 길이 이내이라면 문자열 길이를 바이트 단위로 반환하며,
    최대 길이까지 NULL 찾지 못하면 최대 길이를 반환합니다.

C언어 strnlen() 함수 예제

#include <stdio.h>
#include <ctype.h>

int main( void)
{
   int   ch1 = '1'; 
   int   ch2 = ' ';
   int   ch3 = '\t';  // 탭 문자
   
   if ( isgraph( ch1))  
      printf( "%c(x%02x)는 인쇄 가능 문자입니다.\n", ch1, ch1);
   else
      printf( "%c(x%02x)는 인쇄 가능 문자가 아닙니다.\n", ch1, ch1);

   if ( isgraph( ch2))
      printf( "%c(x%02x)는 인쇄 가능 문자입니다.\n", ch2, ch2);
   else
      printf( "%c(x%02x)는 인쇄 가능 문자가 아닙니다.\n", ch2, ch2);

   if ( isgraph( ch3))
      printf( "%c(x%02x)는 인쇄 가능 문자입니다.\n", ch3, ch3);
   else
      printf( "%c(x%02x)는 인쇄 가능 문자가 아닙니다.\n", ch3, ch3);
      
   return 0;
}

C언어 strnlen() 예제 실행 결과

]$ ./a.out
strlen( buff) = 11 
strnlen( buff, 5) = 5
]$
SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.