0

私はC(Linux OS)でプログラミングしています。関数の引数として指定されたcharの最後の出現を見つけるために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

7th EditionUNIX™には2つの関数がindex()あり、それぞれ標準のC関数とrindex()同等であり、giveまたはtake (これらの関数が定義されたときには存在しませんでした。プロトタイプ以上のものが存在しました。Cもありませんでした)当時のクラス)。strchr()strrchr()const

関数の下位互換性のある宣言にファウルを実行しています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 に答える