HI家伙还没有找到如何在任何地方搜索文本文件中的特定单词,所以在这里,这就是我现在所拥有的,只是阅读并打印整个文本文件。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main ( void )
{
static const char filename[] = "chat.log";
FILE *file = fopen ( filename, "r" );
if ( file != NULL )
{
char line [ 128 ]; /* or other suitable maximum line size */
while ( fgets ( line, sizeof line, file ) != NULL ) /* read a line */
{
fputs ( line, stdout ); /* write the line */
}
fclose ( file );
}
else
{
perror ( filename ); /* why didn't the file open? */
}
return 0;
}
谢谢:D
答案 0 :(得分:4)
使用strstr(line, word)
在该行内的任意位置查找该字词。如果strstr
返回非NULL,则表示当前行包含您的单词。
答案 1 :(得分:1)
你的方法会起作用,但它有点天真,你可以做得更好。
这是一个很好的字符串搜索算法:Boyer–Moore string search algorithm
答案 2 :(得分:1)
在搜索固定的单词集时,我建议您查看Aho-Corasick algorithm。它在性能方面非常好。