Noté que había (al menos en Mac OS X) tanto un <string.h>
encabezado como un <strings.h>
encabezado. man 3 string
revela que contienen diferentes funciones. Hay alguna razón para esto?
90
Noté que había (al menos en Mac OS X) tanto un <string.h>
encabezado como un <strings.h>
encabezado. man 3 string
revela que contienen diferentes funciones. Hay alguna razón para esto?
strings.h
contiene funciones no estándarbcmp bcopy bzero ffs index rindex strcasecmp strncasecmp
... y eso es todo.Respuestas:
strings.h proviene de la rama BSD en la evolución de Unix. Su contenido ha sido estandarizado por POSIX, pero la mayor parte está marcado como heredado y puede reemplazarse fácilmente con otras funciones:
fuente
strings.h
enstring.h
. Véase, por ejemplo, Glibc .Por
<strings.h>
lo general, solo agrega algunas funciones de cadena adicionales útiles pero no estándar al encabezado estándar<string.h>
. Para una máxima portabilidad, solo debe usar,<string.h>
pero si necesita las funciones en<strings.h>
más de lo que necesita portabilidad, puede usar en<strings.h>
lugar de<string.h>
.fuente
ffs
es posible que sea útil.