【发布时间】:2011-05-04 18:15:14
【问题描述】:
我正在用 C 语言做一些需要使用字符串的事情(就像大多数程序一样)。
查看手册页,我发现在 string(3):
概要
#include <strings.h> char * index(const char *s, int c) (...) #include <string.h> char * strchr(const char *s, int c)
于是我好奇地查看了 strchr(3) 和 index(3)...
我发现两者都执行以下操作:
strchr()/index() 函数定位字符串中第一次出现的 c s 所指。终止空字符被认为是 细绳;因此,如果 c 是 '\0',函数会定位到终止的 '\0'。
因此,联机帮助页基本上是复制和粘贴。
此外,我认为,由于某些混淆的必要性,第二个参数的类型为int,但实际上是char。我想我没有错,但是谁能向我解释为什么它是int,而不是char?
如果两者相同,哪个版本更兼容,如果不是,有什么区别?
【问题讨论】:
-
仅供参考,这是一段历史:groups.google.com/group/net.micro.att/msg/…
标签: c string standard-library