我想编写一个程序,通过在程序执行时将字符串传递给shell来创建文件。这可以通过系统完成() 但我想使用这个函数,循环中的许多参数。使用system(char *)给出错误。有没有其他方式
我试了很多plz有人帮助我。
答案 0 :(得分:3)
从char*
到const char*
的转换是隐含的,并且会有效。问题出在其他地方。
答案 1 :(得分:2)
const char *s
与预期在s
中找到的内容无关。由函数做出的承诺是函数不会修改s
的内容。
答案 2 :(得分:0)
您可以按照提及的方式使用system
并以编程方式修改您传递的char *
,也可以使用exec
系列的功能exec
,{ {1}},execve
等等......取决于您系统上的可用内容。
请仔细阅读execvp
和system
的男人:他们并没有做同样的事情。如果你走exec
方式,你可能想看看fork
的男人。
答案 3 :(得分:-1)
听起来你正在寻找execv。行为并不完全相同,但它很接近。另见execl。他们共享同一个手册页。