C:无论如何,要将参数加载到system()调用中
可以在系统调用中放入参数吗 差不多C:无论如何,要将参数加载到system()调用中,c,variables,arguments,system,C,Variables,Arguments,System,可以在系统调用中放入参数吗 差不多 system("rm %s %s", string1, string2) 系统功能的原型为: int system(const char *command); 那么,不。但是,怎么样: snprintf(buffer, sizeof(buffer), "rm %s %s", target1, target2); system(buffer); 试试这个: private: char command[128]; char temp[10] = {'
system("rm %s %s", string1, string2)
系统
功能的原型为:
int system(const char *command);
那么,不。但是,怎么样:
snprintf(buffer, sizeof(buffer), "rm %s %s", target1, target2);
system(buffer);
试试这个:
private:
char command[128];
char temp[10] = {'"','I','P','v','4','"'}; //snprintf();
public:
int SysInfo(){
snprintf(command,sizeof(command), "ipconfig | find %s > save.log",temp);
system(command);
}
我还想指出
asprintf
的存在,它可以方便地为您分配必要的缓冲区(您需要释放
)。避免您自己计算缓冲区大小。@DarkDust:asprintf
是GNU&*BSD扩展。这不一定是件坏事,但仍然..@Michael Foukarakis:snprintf
是C99函数。这通常是值得一提的。我真的很讨厌人们会说:做这件事是个坏主意,或者做那件事是错误的,并且没有说明原因@JeremyP为什么使用system()是个坏主意P@PALENsystem()
启动一个shell,然后执行其中的命令字符串。这太慢了system()
始终阻塞,直到命令执行完毕,除非将&
放在末尾,在这种情况下,您无法判断命令何时结束<代码>系统()/<代码>是不安全的,因为环境变量可以改变命令行的意思。C++,但是问题是关于C的。