Sto facendo qualcosa in C che richiede l'uso delle stringhe (come la maggior parte dei programmi).C: differenze tra strchr() e index()
Guardando nelle pagine di manuale, che ho trovato, a stringa (3):
SINOSSI
#include <strings.h> char * index(const char *s, int c) (...) #include <string.h> char * strchr(const char *s, int c)
Così ho con curiosità guardato sia strchr (3) e l'indice (3) ...
E ho trovato che entrambi fanno quanto segue:
La funzione strchr()/index() individua la prima occorrenza di c nella stringa puntata da s. Il carattere null terminante è considerato parte della stringa ; quindi se c è '\ 0', le funzioni individuano il terminante '\ 0'.
Quindi la pagina di manuale è fondamentalmente una copia & incolla.
Inoltre, suppongo che, a causa di alcune necessità occulte, il secondo parametro abbia il tipo int
, ma sia, di fatto, un char
. Penso di non sbagliarmi, ma qualcuno può spiegarmi perché è uno int
, non uno char
?
Se sono entrambi uguali, quale è più compatibile tra le versioni e, in caso contrario, qual è la differenza?
FYI, ecco un po 'di storia: http://groups.google.com/group/net.micro.att/msg/4c277db8350decaa?hl=it –