3

我需要重现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

4

1 回答 1

5

strnstr标准 C 或 POSIX 中没有命名函数。它也不在 glibc/Linux 中。它似乎是FreeBSD 的功能

我知道 strnstr() 不在标准库中,问题可能与编译器有关,但如何修复它以与 strnstr() 一起使用?

不知道为什么您认为这是编译器问题(除非您认为这是编译器内在问题)。如果它不是由您的 C 库提供的,那么它就是不可用的。

因此,如果它在您的系统上不可用(可能您没有使用 BSD 系统),那么您可以实现它。您可以查看现有的实现

于 2017-12-14T16:47:22.413 回答