我正在尝试接受用户输入并将其作为文件名传递给execve()
。
我使用malloc()
为char* filename
分配足够的内存,然后用我想要执行的文件的路径填充它。
execve()
需要const char*
,因此无法编译。有没有办法绕过这个?我见过有些人使用execve()
作为shell,所以我假设可以传递一个用户定义的char数组。
我无法使用execvp()
或自动搜索PATH的任何其他变体。
谢谢!
答案 0 :(得分:2)
你在说什么"它不会被编译,因为execve()
需要const char*
"是胡说八道。您始终可以将非const变量传递给const方法参数。所以你的问题应该在其他地方。请发布更多代码。