I used GDB, and realised that the problem was reaching these line of codes:
in main:
'''
else if(strcmp("insert",arg[1])==0){ insert("a.txt","Cem","Mec","Cem","-a");}
'''insert method:
'''
void insert(char *filename, char *insertedWord, char *searchedWord,char *oldsearchedWord, char *ab){
if(strcmp("-a",ab) == 0){ strcat(searchedWord,""); strcat(searchedWord, insertedWord); replace(filename,searchedWord,oldsearchedWord); }else if(strcmp("-b",ab) == 0){ strcat(insertedWord,""); strcat(insertedWord, searchedWord); replace(filename,insertedWord,oldsearchedWord);}
}'''
and the error is:
Program received signal SIGSEGV, Segmentation fault.__strcmp_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:3232 ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: No such file or directory.
I checked my replace method. It works.