這裏尋找特定字符串是我的代碼:遇到問題在一個txt文件
int findKey(char *in, char *key, int buf){
int count = 0;
FILE *f;
f = fopen(in,"r");
char temp[buf];
while(fgets(temp,buf,f) != NULL){
char *p = temp;
while((p=(strstr(p,key)))!=NULL){
count++;
++p;
}
int i = 0;
}
fclose(f);
return count;
}
所以char *in
是一個txt文件,關鍵是我要找的TXT文件中的一句話。因此,例如TXT文件可能是
hello Hello hello helloworld worldhello !hello! hello? hello, ?hello hello
,如果關鍵詞是「你好」,再算上應該在這種情況下它返回9,因爲這還指望這些作爲有效返回2.然而:
helloworld worldhello !hello! hello? hello, ?hello
時,它應該只算粗體爲有效
你好你好你好的HelloWorld worldhello!你好!你好?你好,?你好你好
我該如何解決這個問題?
拆分使用'strtok_r()'空白字符的字符串,然後檢查每個子等於' 「你好」'。 – 2013-11-27 23:11:32
'strtok_r'是一個GNU Libc擴展。 – randomusername
@randomusername這不是一個GLibC擴展,它是POSIX ... – Macmade