函数

GLibutf8_collate_key_for_filename

since: 2.8

声明 [src]

gchar*
g_utf8_collate_key_for_filename (
  const gchar* str,
  gssize len
)

描述 [src]

将字符串转换为排序密钥,可以使用 strcmp() 与该函数产生的其他排序密钥进行比较。

为了正确地对文件名进行排序,此函数将点“.”视为一种特殊情况。大多数词典顺序似乎认为它没有意义,因此生成了“event.c”、“eventgenerator.c”、“event.h”的顺序,而不是“event.c”、“event.h”、“eventgenerator.c”。此外,我们希望智能地处理数字,以便“file1”、“file10”、“file5”按“file1”、“file5”、“file10”进行排序。

请注意,此函数依赖于 [当前语言环境][setlocale]。

请注意,所返回的字符串并不一定以任何编码表示,特别是 UTF-8。返回值仅用于比较。

自 2.8 起可用

参数

str

类型: const gchar*

UTF-8 编码 字符串。

数据归函数调用者所有。
该值是一个以 NUL 结尾的 UTF-8 字符串。
len

类型: gssize

str 的长度(以字节为单位),如果 str 以 null 结尾,则为 -1。

返回值

类型: gchar*

一个新分配的字符串。串的内容仅用于排序。完成后,应使用 g_free() 释放此字符串。

函数调用者获得对数据的拥有权,并负责释放它。
该值是一个平台固有字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8。