以UTF8编程方式安装FAT32文件系统

时间:2011-04-12 10:53:09

标签: c++ linux

如何使用“mount()”函数(来自“mount.h”,请参阅“man 2 mount”)以安装UTF8的方式安装FAT / FAT32设备?

这是我用来装载它的相关代码:直到现在:

mount_result = mount(device_node, device_mount_point, fstype, MS_NOATIME, "");

谢谢, 尼古拉

3 个答案:

答案 0 :(得分:2)

来自manpage

  

数据参数由不同的文件系统解释。通常,它是由此文件系统理解的一串逗号分隔选项。

mount(8)的联机帮助页,“为vfat安装选项”:

  

utf8:   UTF8是控制台使用的Unicode文件系统安全8位编码。可以使用此选项为文件系统启用它。如果设置了'uni_xlate',UTF8将被禁用。

因此,这应该给你想要的行为:

mount_result = mount(device_node, device_mount_point, fstype, MS_NOATIME, "utf8");

答案 1 :(得分:1)

mount命令的最后一个参数是由内核中的文件系统驱动程序解释的字符串。它与传递给mount shell命令的方式相同。对于UTF8,我相信字符串应该是:

mount_result = mount(device_node, device_mount_point, fstype, MS_NOATIME, "iocharset=utf8");

答案 2 :(得分:1)

我想你可能需要尝试“utf8 = 1”。