Searching for specific words in a text file

Winkz picture Winkz · Jan 17, 2013 · Viewed 10.8k times · Source

HI guys havent been able to find how to search for specific words in a text file anywhere, so here it goes, this is what I have now and just read and prints the entire text file.

#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;
}

Thank you :D

Answer

user4815162342 picture user4815162342 · Jan 17, 2013

Use strstr(line, word) to look for the word anywhere inside the line. If strstr returns non-NULL, it means the current line contains your word.