绕过const char * * execve()的要求

时间:2014-10-19 20:32:48

标签: c exec const

我正在尝试接受用户输入并将其作为文件名传递给execve()

我使用malloc()char* filename分配足够的内存,然后用我想要执行的文件的路径填充它。

但是,

execve()需要const char*,因此无法编译。有没有办法绕过这个?我见过有些人使用execve()作为shell,所以我假设可以传递一个用户定义的char数组。
我无法使用execvp()或自动搜索PATH的任何其他变体。

谢谢!

1 个答案:

答案 0 :(得分:2)

你在说什么"它不会被编译,因为execve()需要const char*"是胡说八道。您始终可以将非const变量传递给const方法参数。所以你的问题应该在其他地方。请发布更多代码。