2

这是我的程序,它似乎不起作用。有时我认为它可以使用\0or\r代替\n,但我想那是因为我已经在运行该程序的终端上执行了 sudo 命令,所以它没有提示我输入密码。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
   FILE* pipe = popen("sudo -S ls", "w");   
   pwrite(pipe,"mypass\n");
   pclose(pipe);
   return 0;
}

我哪里错了?我该如何解决?谢谢。

4

1 回答 1

2

我刚刚发现了一个似乎有效的解决方法。谢谢大家,谁调查了这个问题。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
   FILE* pipe = popen("echo mypass | sudo -S ls", "w");   
   pclose(pipe);
   return 0;
}
于 2013-05-02T18:52:15.677 回答