OPENSSL_strcasecmp.3ossl - Man Page

compare two strings ignoring case


 #include <openssl/crypto.h>

 int OPENSSL_strcasecmp(const char *s1, const char *s2);
 int OPENSSL_strncasecmp(const char *s1, const char *s2, size_t n);


The OPENSSL_strcasecmp function performs a byte-by-byte comparison of the strings s1 and s2, ignoring the case of the characters.

The OPENSSL_strncasecmp function is similar, except that it compares no more than n bytes of s1 and s2.

In POSIX-compatible system and on Windows these functions use "C" locale for case insensitive. Otherwise the comparison is done in current locale.

Return Values

Both functions return an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2.


OpenSSL extensively uses case insensitive comparison of ASCII strings. Though OpenSSL itself is locale-agnostic, the applications using OpenSSL libraries may unpredictably suffer when they use localization (e.g. Turkish locale is well-known with a specific I/i cases). These functions use C locale for string comparison.

Referenced By

The man page OPENSSL_strncasecmp.3ossl(3) is an alias of OPENSSL_strcasecmp.3ossl(3).

2023-03-21 3.0.8 OpenSSL