execl 输入不了文字怎么解决
时间: 2023-07-07 21:03:56 浏览: 179
如果你是在命令行中使用 `execl` 函数,那么它是不支持直接输入文字的。你可以尝试使用 `scanf` 或者 `fgets` 函数来获取用户的输入,然后将输入的内容作为参数传递给 `execl` 函数。
以下是一个示例代码,演示如何使用 `fgets` 获取用户的输入,并将输入的内容作为参数传递给 `execl` 函数:
```
#include <stdio.h>
#include <unistd.h>
int main() {
char cmd[100];
printf("请输入要执行的命令:");
fgets(cmd, sizeof(cmd), stdin);
execl("/bin/sh", "sh", "-c", cmd, NULL);
return 0;
}
```
在上面的代码中,我们使用 `fgets` 函数获取用户的输入,并将输入的内容存储在 `cmd` 数组中。然后,我们使用 `execl` 函数执行 `/bin/sh` 命令,并将用户输入的内容作为参数传递给 `-c` 选项。这样,用户输入的命令就会被执行。