嗨,我正在尝试编写安装服务器文件夹的C程序。我尝试了以下代码,但没有成功(打印消息错误1不允许进行操作,一旦我使用sudo运行它,我将得到错误22 ivalid参数)。这对我来说看起来很奇怪。有什么想法/建议吗?

#include <sys/mount.h>
int main(){
const char* server_src_path="ip_address:/myfolder";
const char* local_path="/myLocalFolder";
const char* filesystem="nfs";
mount(server_src_path, local_path,filesystem, MS_MGC_VAL | MS_RDONLY | MS_NOSUID, "");
printf("error message %d %s\n",errno, strerror(errno));
return 0;
}

最佳答案

简要地参考mount联机帮助页(第2部分,系统调用API部分),您可以使用man 2 mount进行阅读。


您缺少第三个参数filesystemtype,除非原型严重损坏,否则应为编译错误。
您的server_src_pathlocal_path是未声明的标识符,这是编译错误。
您无需检查返回值或errno。通常,perror有助于获得错误的可读描述。


当您确定要得到什么错误时,该手册页会告诉您该函数在什么条件下会产生该错误。

关于c - 挂载服务器文件夹C代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24232377/

10-12 16:09