很容易写,但我不会写的.
你要是做作业,去找你隔壁的抄吧.
你要是真想学,只要动手百度一下--关键词都给你了,"kmp 算法".拿出代码改吧改吧立马可以做出来.这很困难么?
我当时对着书撸,手里拿着笔对着代码单步推,试图弄明白原理,从什么都不懂到徒手随便撸也就个把小时.新手就了不起啊,谁不是新手过来的.就知道伸手,建议换一行别坑那些辛辛苦苦养程序员的公司了好么
----------------------
kmp原理非常简单.已知一个短的字符串key(此处为CNR),对它编码.编码后的结果其实就是match错误后跳到哪个值上.然后拿着这个编码后的结果往长字符串上一路match.
若只是调用,kmp的结果一般为-1或某个自然数.若为-1表示没有match上任何片段,否则表示match上的片段在长字符串中的offset.
-----------------------
代码逻辑有难度么?
FILE * fin = fopen("data_file.txt","r");
FILE * fout = fopen("export_file.txt","w");
char buff[1024];
const char * key = "CNR";
while(fgets(buff,1024,fin) != NULL) {
int index = kmp(buff,key);
if(index > 0 ) {
fprintf(fout,"%s\n",buff + index);
}
}
fclose(fin);
fclose(fout);
连提神都做不到好么