我正在尝试连接两个字符串,然后在 UNIX 环境中进行系统调用。该程序执行我想要的操作,但因错误而终止*** stack smashing detected ***
为什么会这样?
这是我的代码:
main(int argc, const char* argv[])
{
//Check if there is an arg otehr than file name
if(argc > 1)
{
int i;
//argv[0] is prog name start at 1.
for(i=1; i<argc; i++)
{
char st1[] = "wc -l ";
strcat(st1, argv[i]);
printf("%s",system(st1));
}
}
else
{
printf("\nExiting. No input files given.\n");
}
return 0;
}