0

我正在用 C(Linux 操作系统)编程。我需要使用 rindex 来查找指定为函数参数的字符的最后一次出现。

char * rindex (const char *string, char c);

尽管我收到警告,但它工作正常:

conflicting types for built-in function ‘rindex’ [enabled by default]

但如果我包含一个string.h标题。它给出了错误,

conflicting types for ‘rindex’

因为 rindex 被定义为,

char * rindex (const char *string, int c);

但我需要将它用作 char 并使用 string.h 进行字符串操作。有没有可能?请指导我。

4

2 回答 2

2

在第 7 版 UNIX™ 中,有两个函数index()rindex()分别等效于标准 C 函数strchr()strrchr(), give 或 take const(在定义这些函数时不存在,不存在原型;甚至没有 C 与那时的课)。

您违反了 function 的向后兼容声明rindex()。名称index()rindex()是过时的,但您不能在自己的代码中愉快地使用它们。选择不同的函数名称。

于 2012-12-16T07:09:00.717 回答
0
/* include standard string */
#include <string.h>
/* alias standard rindex to rindex_std */
#define rindex rindex_std
/* include your OS defined strings.h */
#include <strings.h>

这将解决冲突。

于 2012-12-16T07:27:53.320 回答