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
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
E: /var/cache/apt/archives/lock 잠금 파일을 얻을 수 없습니다 - open (11: 자원이 일시적으로 사용 불가능함) (2) | 2020.07.05 |
---|---|
C언어 문자열에서 서식에 맞춘 변수 값 받기 sscanf() (5) | 2020.07.04 |
C언어 파일 열기 함수 fopen() (0) | 2020.07.04 |