我想使用strtok將文本文件拆分爲字符串,我可以傳遞給拼寫檢查功能,文本文件包含字符,如'\ n','?!,。 「 etc ... 我需要打印任何拼寫檢查失敗的單詞以及它們所在的行號。保持跟蹤線是我正在努力。 到目前爲止我試過,但它只返回結果的文本文件的第一行:C - 使用strtok嵌套循環使用strtok
char str[409377];
fread(str, noOfChars, 1, file);
fclose(file);
int lines=1;
char *token;
char *line;
char splitLine[] = "\n";
char delimiters[] = " ,.?!(){}*&^%$£_-+=";
line = strtok(str, splitLine);
while(line!=NULL){
token = strtok(line, delimiters);
while(token != NULL){
//print is just to test if I can loop through all the words
printf("%s", token);
//spellCheck function & logic here
token = strtok(NULL, delimiters);
}
line = strtok(NULL, splitLine);
lines++
}
使用嵌套while循環和函數strtok可能嗎?有沒有更好的方法來跟蹤行號?
好的,謝謝你清理那個,你能想出一個更好的方法來跟蹤令牌的哪一行嗎?編輯:好吧,我會研究,非常感謝你的幫助 –