0

我有可能包含字符 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 函数可以做到这一点。我不介意自己写,但在我这样做之前,我想确保没有我不知道的标准函数。

4

0 回答 0