¿Está la función strcmpi en la biblioteca estándar C de ISO?

3 minutos de lectura

¿Esta la funcion strcmpi en la biblioteca estandar C de
JACK M.

Noté que la diferencia entre Linux y Windows. strcmpi está en la implementación de la biblioteca estándar de Windows C, pero no está en la implementación de la biblioteca estándar de C de GNU. ¿La función strcmpi en la biblioteca estándar de C está definida por ISO? ¿Cómo puedo obtener el archivo estándar? Gracias.

  • Tenga en cuenta que la “comparación que no distingue entre mayúsculas y minúsculas” no es un asunto simple. ¿Quiere uno que se comporte de la misma manera en todas las configuraciones regionales, que es lo que necesitaría para analizar HTML o algo así? ¿O desea uno que funcione para la configuración regional actual (posiblemente no coincida con el idioma del texto de entrada real) o que intente funcionar para todos los idiomas naturales a la vez? ¿Quiere que entre en vigor las reglas de clasificación? Etc..

    – R.. GitHub DEJA DE AYUDAR A ICE

    8 de marzo de 2012 a las 14:07

1647653106 848 ¿Esta la funcion strcmpi en la biblioteca estandar C de
Frank H.

El estándar POSIX (también conocido como UNIX) tiene strcasecmp() pero no es parte de C99 / ISO-C.

Nota: Si compara la referencia anterior con, por ejemplo, la de strcmp() notará que el último hace referencia explícita a ISO-C, mientras que el primero no. Una característica útil de las referencias de OpenGroup.

Editar: Dado que la dependencia de la configuración regional se mencionó como una complicación, consulte la referencia anterior para strcasecmp_l() Que permite especificando explícitamente la configuración regional que se utilizará para la conversión. Windows tiene _strcmpi_l() para el propósito, nuevamente manteniendo sus propias convenciones de nomenclatura.

  • ¿Estás seguro de que es parte de POSIX? Pensé que Microsoft intentó ser compatible con POSIX.

    – Mark Ransom

    8 de marzo de 2012 a las 14:05

  • El cumplimiento de POSIX para Microsoft es un interruptor opcional/algo que debe solicitar al compilar (para obtener encabezados adicionales/prototipos modificados en algunas situaciones). Además, POSIX ha estado (y aún está) evolucionando; MS en un momento certificado con un estándar POSIX (realmente antiguo), lo que no significa que se haya mantenido actualizado.

    – Frank H.

    8 de marzo de 2012 a las 14:08

  • Además, re, “POSIX”: he estado usando el término para describir IEEE1003 (El estándar UNIX según lo especificado / certificado por OpenGroup como “Especificación única de UNIX”).

    – Frank H.

    8 de marzo de 2012 a las 14:11

  • NB Tampoco forma parte de C 2011.

    – PJ Trail

    4 sep 2015 a las 10:27

No, es una extensión no estándar. Los sistemas similares a Unix comúnmente tienen un strcasecmp que realiza la misma tarea que MS strcmpi.

No, un rápido CTRL+F en el estándar no devuelve nada para strcmpi. Esto quiere decir que es una extensión no estándar (de la que tanto Windows como GNU tienen muchas).

  • ¿Cómo puedo obtener el archivo estándar? Gracias.

    – JACK M.

    8 de marzo de 2012 a las 14:03

  • JACK M: En realidad cuesta dinero, pero normalmente busco rápidamente en Google “PDF estándar ISO C 11”.

    – orlp

    8 de marzo de 2012 a las 14:04

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad