2 つの文字列を連結し、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;
}