오늘 어느분이 strnlen_s 와 strnlen의 차이를 물어보더군요

함수 정의를 보면 인자를 동일하게 넣는데 어떤 차이가 있는지...


전 VS 2005에서 경고레벨을 4로 준 경우 strnlen_s을 사용하라는 권고 메세지를 보기 때문에

strnlen_s를 무조건 사용했습니다만 저도 궁금해서 좀 찾아 보았습니다.


http://www.informit.com/articles/article.aspx?p=430402&seqNum=8

에 보니

ISO/IEC TR 24731 defines a strnlen_s() function that has similar behavior

라는 글이 있더군요


이것으로 보아 유추하기로는 strnlen_s는 근래 ISO/IEC 규약으로 정의된 것으로 앞으로

strnlen_s를 사용하는 것이 표준에 따라가는 것이 아닌가 생각이 됩니다.


그리고 strnlen도 컴파일 타임에는 내부에 매크로가 정의 되어 있어서 strnlen_s로 변환 된다고 합니다.

신고
by 흥배 2008.03.26 23:48
| 1 |