我正在嘗試創建一個簡單的程序,用作爲命令參數輸入的文件位置上的system()調用cat。但是,每次我調用文件時,我都會遇到分段錯誤(核心轉儲)。你能檢查一下爲什麼(我在程序中看不到任何東西,我正在做一些有關內存的事情來得到這個錯誤!)。在一個簡單的命令行程序中的段錯誤
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
if(argc != 2)
{
printf("usage: %s filename", argv[0]);
}
else
{
printf("commad: %s", strcat("cat ", argv[1]));
system(strcat("cat ", argv[1]));
}
return 0;
}
修改字符串文字是未定義的行爲。 – hmjd
您能否請您解釋 – MedAli
@MohamedAliJamaoui您需要爲strcat –