C: Различия между strchr () и index ()

Я делаю что-то в C, что требует использования строк ( как и большинство программ).

Просматривая страницы руководства, я обнаружил строку (3):

ОБЗОР

 #include 

char * index (const char * s, int c)

(...)

#include 

char * strchr (константа char * s, int c)

Я с любопытством посмотрел и на strchr (3), и на index (3) ...

И обнаружил, что оба делают следующее:

Функция strchr () / index () находит первое вхождение c в строке на что указывает с. Завершающий нулевой символ считается частью строка; поэтому, если c равно '\ 0', функции находят завершающий '\ 0'.

Итак, справочная страница по сути является копией и вставкой.

Кроме того, я полагаю, что из-за какой-то запутанной необходимости второй Параметр имеет тип int , но фактически является char . Думаю, я не ошибаюсь, но может ли кто-нибудь объяснить мне, почему это int , а не char ?

Если они оба одинаковы, какой из них более совместим между версиями, а если нет, в чем разница?

15
задан Nisse Engström 16 November 2016 в 04:27
поделиться