int ret = mount(devicename.c_str(),mountPoint.c_str(),fsType.c_str(),NulL);
errno是19,ENODEV(文件系统类型未在内核中配置)
但是,如果我切换到使用mount(8),它工作正常:
std::string cmd = "mount -t " + fsType + " " + devicename + " " + mountPoint;int ret = system(cmd.c_str());
mount(2)是否有不同的可接受文件系统类型列表?这是一个ntfs设备,所以我使用的是ntfs-3g作为fstype.我检查了/ proc / filesystems,看到没有列出,所以我尝试了fuseblk,但只是将错误更改为22,EINVAL.
使用mount(2)安装NTFS设备的正确方法是什么?
解决方法 mount.2只是一个内核调用. mount.8是一个完整的外部工具,它扩展到内核之外.我想你可能正在寻找libmount这是一个实现mount.8完成的整个装载魔法的库.较新的安装版本也使用它.它在util-linux年提供.
总结以上是内存溢出为你收集整理的在Linux上用C挂载NTFS设备?全部内容,希望文章能够帮你解决在Linux上用C挂载NTFS设备?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)