我正在创建一个库,用于在 Linux 和 Windows 上进行文件操作。所以我需要处理路径,主要要求是我的函数将接收 UTF8 格式的字符串。但这会导致一些问题,其中之一是我正在使用MAX_PATH
在窗户上和PATH_MAX
在linux中,表示静态路径变量。在 ASCII 字符的情况下不会有问题,但是当路径包含 unicode 字符时,如果 unicode char 需要每个字符 2 个字节,则路径长度将缩短两倍,如果 unicode char 需要每个字符 3 个字节,则路径长度将缩短 3 倍,依此类推。那么这个问题有没有好的解决办法呢?
提前致谢!
附注对不起我的英语不好。
至少在 Linux 上,您的担心似乎是多余的。 Linux(以及一般的 POSIX)将路径视为以“\0”结尾的不透明字节块。它不关心如何将这些字节转换为字符。也就是说,PATH_MAX 指定路径名的最大长度(以字节为单位),而不是以字符为单位。
因此,如果路径名包含 >= 0 个多字节 UTF-8 字符,则仅意味着最大路径长度(以字符为单位)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)