-
strlen 사용시 주의사항Programming/C,C++,C# 2007. 11. 18. 23:13반응형strlen을 이용하여 문자열의 길이를 구하는 경우가 상당히 많다..
strlen을 이용하여 문자열 포인터로 길이를 구할때 주의해야 할 점이 있다..
char* str = NULL;
int len = 0;
len = strlen(str);
위와 같이 str이 NULL인 경우 프로그램은 그냥 죽어버린다.
원인은 strlen함수가 자체적으로 문자열이 널포인터인지를 검사하지 않기때문에 생기는 문제이다.
물론 위와 같이 NULL인 str의 길이를 구하려는 사람은 없지만..
실질적으로 함수가 중간에 끼고 코드의 양이 커질때 위와 같은 문제를 만날때가 적어도 한번은 있을것이다..
어쩌면 너무 쉽게 생각해서 그냥 지나치는 경우도 많다..
아무튼 strlen을 사용할때는 문자열포인터가 널값이 아닌지를 꼭 한번 체크해주는 습관을 가져야겠다..반응형'Programming > C,C++,C#' 카테고리의 다른 글
strlen 함수를 만들어보자 (0) 2007.11.25 로또번호 생성기 (0) 2007.11.21 URL Encode/Decode (2) 2007.11.20