我使用以下代码
...
char ImgPath[m_IMGName.size() + 1];
memcpy(ImgPath, m_IMGName.c_str(), m_IMGName.size() + 1);
struct hfs_mount_args data;
data.fspec = ImgPath;
if(mount("hfs+", m_TargetPath.c_str(), MNT_RDONLY, &data)){
throw SysCallTestExeption(errno, "mount() is failed!", GET_FILE_LINE_FUNC_ARG);
}
...当我启动这个程序时,我会得到一个错误:挂载()是失败的!错误(设备不支持操作)。
如果我使用以下命令,就会挂载图像:
sudo hdiutil attach -mountpoint "${MountPointPath}" "${Image}"而且,当我在Linux上使用山()时,一切都可以。下面是Linux代码:
...
if(mount(m_IMGName.c_str(), m_TargetPath.c_str(), m_FSType.c_str(), 0, m_Opts.c_str())){
throw SysCallTestExeption(errno, "mount() is failed!", GET_FILE_LINE_FUNC_ARG);
}
...发布于 2015-04-29 16:39:00
中没有hfs+类型。
mount("hfs+", m_TargetPath.c_str(), MNT_RDONLY, &data)您应该使用hfs同时处理HFS和HFS+。例如,查看hfs命令来源
#define HFS_MOUNT_TYPE "hfs"https://stackoverflow.com/questions/29947424
复制相似问题