Noté que había (al menos en Mac OS X) tanto un <string.h>encabezado como un <strings.h>encabezado. man 3 stringrevela 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 stringrevela que contienen diferentes funciones. Hay alguna razón para esto?
strings.hcontiene 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.henstring.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
ffses posible que sea útil.