1

嗨,伙计们还没有找到如何在任何地方搜索文本文件中的特定单词,所以就在这里,这就是我现在所拥有的,只需阅读并打印整个文本文件。

#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

4

3 回答 3

4

用于strstr(line, word)在行内的任何位置查找单词。如果strstr返回非 NULL,则表示当前行包含您的单词。

于 2013-01-17T10:15:51.577 回答
1

你的方法会奏效,但有点天真,你可以做得比这更好。

这是一个优秀的字符串搜索算法:Boyer–Moore string search algorithm

于 2013-01-17T10:25:21.247 回答
1

在搜索一组固定的单词时,我建议你看看Aho-Corasick 算法。就性能而言,它真的很好。

于 2013-01-17T10:53:51.997 回答