我注意到(至少在 Mac OS X 上)有一个 <string.h>
header 和 <strings.h>
header 。 man 3 string
显示它们包含不同的功能。这有什么原因吗?
最佳答案
strings.h来自unix演进中的BSD分支。它的内容已被 POSIX 标准化,但其中大部分被标记为遗留的,可以很容易地用其他功能替换:
int bcmp(const void *, const void *, size_t); /* LEGACY, see memcmp */
void bcopy(const void *, void *, size_t); /* LEGACY, see memcpy, memmove */
void bzero(void *, size_t); /* LEGACY, see memset */
int ffs(int);
char *index(const char *, int); /* LEGACY, see strchr */
char *rindex(const char *, int); /* LEGACY, see strrchr */
int strcasecmp(const char *, const char *);
int strncasecmp(const char *, const char *, size_t);
关于c - <string.h> 和 <strings.h> 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4291149/