我有可能包含字符0的字符串。它们存储在这样的结构中:
typedef struct somestruct_s {
const unsigned char *string;
size_t length;
};
如果我希望将其中两个进行比较,我可以使用memcmp:
int match = (a->length == b->length) ? !memcmp (a->string, b->string, a->length) : 0;
但是如果我想在不考虑大小写的情况下将其中的两个进行比较,我的第一直觉是使用strncasecmp / _strnicmp - 但是,该函数在空字符上停止。
是否存在可以执行此操作的常见C函数。我不介意自己写,但在此之前,我想确保没有我不知道的标准功能。