프로그래밍/C,C++

[C] warning: implicit declaration of function ‘strnstr’

채윤아빠 2023. 4. 22. 17:30
728x90
반응형

문제점 및 증상

오랜만에 라즈베리파이 3에서 C로 작업할 일이 생겨서, 이것 저것 찾아가며 소스를 작성하던 중에 "strnstr()" 함수를 이용하려던 중에 다음과 같은 오류가 발생하였습니다.

config_test.c:75:16: warning: implicit declaration of function ‘strnstr’; did you mean ‘strstr’? [-Wimplicit-function-declaration]
   pStartPort = strnstr(buff, read_count, "\"PORT\":");
                ^~~~~~~
                strstr
config_test.c:75:14: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   pStartPort = strnstr(buff, read_count, "\"PORT\":");

 

시험환경

Device Raspberry Pi 3B
RAM 1 GB
OS Linux raspberrypi 5.10.103-v7+ #1529
gcc 8.3.0 (Raspbian 8.3.0-6+rpi1)

해결 방안

구글을 통하여 찾아 보니, "strnstr()" 함수는 BSD 등에서 지원하는 것으로 일반 리눅스에서는 지원하지 않는다고 합니다.

그래서 "strstr()" 함수를 이용하도록 코드를 수정하여 동작시켰습니다. ^^;


참고자료