C함수 문자열 길이 구하기 함수 strnlen()
C함수 문자열 길이 구하기 함수 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 찾지 못하면 최대 길이를 반환합니다.
예제
#include <stdio.h> #include <string.h> int main( void) { char buff[1024]; sprintf( buff, "badayak.com"); printf( "strlen( buff) = %ld\n", strlen(buff) ); printf( "strnlen( buff, 5) = %ld\n", strnlen(buff, 5) ); return 0; }
실행 결과
]$ ./a.out strlen( buff) = 11 strnlen( buff, 5) = 5 ]$
-
오렌지훈
- 2020.07.05 19:33 신고
잘 보고 공감하고 갑니다^^-
바다야크 바다야크
- 2020.07.05 19:53 신고
공감 감사합니다. 편안한 저녁 되세요. ^^
-
- 2020.07.05 22:28
비밀댓글입니다-
바다야크 바다야크
- 2020.07.06 08:57 신고
공감 감사합니다. 즐거운 하루 되세요. ^^