什么是像SYSTEM(const char *)那样的函数,并且不采用const char而是采用动态生成的查询

时间:2010-11-04 15:57:03

标签: c linux

我想编写一个程序,通过在程序执行时将字符串传递给shell来创建文件。这可以通过系统完成()  但我想使用这个函数,循环中的许多参数。使用system(char *)给出错误。有没有其他方式

我试了很多plz有人帮助我。

4 个答案:

答案 0 :(得分:3)

char*const char*的转换是隐含的,并且会有效。问题出在其他地方。

答案 1 :(得分:2)

const char *s与预期在s中找到的内容无关。由函数做出的承诺是函数不会修改s的内容。

答案 2 :(得分:0)

您可以按照提及的方式使用system并以编程方式修改您传递的char *,也可以使用exec系列的功能exec,{ {1}},execve等等......取决于您系统上的可用内容。

请仔细阅读execvpsystem的男人:他们并没有做同样的事情。如果你走exec方式,你可能想看看fork的男人。

答案 3 :(得分:-1)

听起来你正在寻找execv。行为并不完全相同,但它很接近。另见execl。他们共享同一个手册页。