【发布时间】:2020-07-30 02:48:31
【问题描述】:
我使用了 GDB,发现问题出在这行代码上:
主要:
'''
else if(strcmp("insert",arg[1])==0){
insert("a.txt","Cem","Mec","Cem","-a");
}
''' 插入方法:
'''
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);
}
} '''
错误是:
程序收到信号SIGSEGV,分段错误。 __strcmp_sse2_unaligned () 在 ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:32 32 ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:没有这样的文件或目录。
我检查了我的替换方法。它有效。
【问题讨论】:
标签: c string gcc methods segmentation-fault