c - 在 C 应用程序中挂载带有 ntfs-3g 的设备

标签 c linux mount

在 C 应用程序中挂载带有 ntfs-3g 驱动程序的设备的好方法是什么?

为了挂载其他文件系统,我将使用 libmount但是如何处理 ntfs-3g?我没有找到 libntfs-3g 的任何文档。

是的,我可以为此使用 system(),但它似乎不是很好的解决方案。

还有关于安装前检测设备文件系统的问题:虽然我要通过所有相关文件系统循环安装设备直到成功,但也许存在更好的方法?

最佳答案

检查 Linux 特定的 mount() 系统调用。

它允许您挂载,但您需要指定文件系统。

要检测文件系统类型,您可以从设备的开头读取一些数据,并使用 libmagic 来了解文件系统类型。 函数 magic_buffer() 可以帮助你。 我不确定你需要从设备读取多少字节,你可以做一些测试,但我认为 128 个字节应该绰绰有余。

关于c - 在 C 应用程序中挂载带有 ntfs-3g 的设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13397692/

相关文章:

c - 为什么我的 while(read) 管道循环永远不会结束?

c - IF 语句中没有 fork

c++ - 在 C++ 中挂载 samba 共享

c - 在 c 中重新打开 stdin、stdout 或 stderr

C - 强制终止时刷新文件缓冲区

python - 如何将 Wireshark 处理的数据转发给 python?用什么样的方法?

linux - sdl支持ARM lcd视频显示吗?

ruby - 使用超时 fork 子进程并捕获输出

python - 如何在 Windows 上挂载和卸载

macos - 在 Mac OS X 上查找已挂载网络共享的路径