c语言add函数怎么调用,adduser命令详解
最近项目中需要用C语言实现Linux用户和用户组的创建,需要在C语言中调用adduser等命令。因为adduser这类命令需要在命令行中进行输入交互,不能通过system函数来实现,所以想要用进程管道来进行进程间的输入交互。
下面是我用进程管道实现的具体代码,希望对有类似需求的同学有帮助。
#include #include #include int adduser(char *user, char *home, char *passwd){ int status = 0; FILE * fd = NULL; char cmd[1024] = {0}; char param[256] = {0}; /* get adduser shell command */ sprintf(cmd, \”adduser –home %s %s >> /dev/null 2>&1\”, home, user); fd = popen(cmd, \”w\”); if (!fd) { printf(\”create adduser pipe failed.\\n\”); return -1; } /* get password */ sprintf(param, \”%s\\n\”, passwd); /* Enter new UNIX password */ status = fwrite(param, 1, strlen(param), fd); if (status
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...