我需要重现strnstr功能的行为。我想测试strnstr但无法编译程序,其编写的"implicit declaration of function strnstr [-Wimplicit-function-declaration]"和"undefined reference to strnstr". 我包括了 header <string.h>。
我知道这strnstr()不在标准库中,问题可能与编译器有关,但是如何修复它以使用它strnstr()?
编译器版本:gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
没有strnstr在标准 C 或 POSIX 中命名的函数。它也不在 glibc/Linux 中。看来是FreeBSD的功能。
我知道 strnstr() 不在标准库中,问题可能与编译器有关,但是如何修复它以与 strnstr() 一起使用?
不确定为什么您认为这是编译器问题(除非您认为这是编译器固有的)。如果它不是由您的 C 库提供,则它不可用。
因此,如果它在您的系统上不可用(可能您没有使用 BSD 系统),那么您可以实现它。您可以查看现有的实现。