web-dev-qa-db-ja.com

strcasestr()を使用するにはどうすればよいですか?

_#include <string.h>_ですが、strcasestr(src, search);を呼び出すと、次のエラーメッセージ_implicit declaration of function ‘strcasestr’_が表示されます。コンパイル方法:_gcc-4.6 -Wall -lsqlite3 -lunac -Werror -O2 -o foo.out foo.c_これを修正する方法は?前もって感謝します。

17
Jack

対応するマンページ で指定されているように、strcasestrは非標準の拡張子であるため、#define _GNU_SOURCEする必要があります #include <string.h>の前#includeの前(他のファイルにはすでに<string.h>が含まれている可能性があります。この潜在的な問題を指摘してくれた@Cubbiに感謝します)。これは、コンパイラのコマンドラインで-D_GNU_SOURCEを指定することでも簡単に実行できます。

29
Matteo Italia

追加する必要があります:

#define _GNU_SOURCE

の前に string.h include、関数は非標準であるため。

7