| iMatix home page
| << | < | > | >>
SFL Logo SFL
Version 2.11

 

findstrinfile

#include "sflstr.h"
char *
findstrinfile (
    FILE *fp,
    char *strtofind,
    char *strretstr,
    int *iLnNo)

Synopsis

Find's a string inside a text file and reads the line in and sets the file pointer to the beginning of that line. Assumes the line length to be <= 1024 bytes. Returns a pointer to head of the return buffer, and the file postion will be at the start of the found string. If the strretstr param is != NULL then strretstr will contain the line that the search string was found in. Submitted by Scott Beasley jscottb@infoave.com

Source Code - (sflstr.c)

{
   char strline[1025];
   int nfnd = 0;
   long lfpos;

   ASSERT (fp);
   ASSERT (strtofind);
   ASSERT (strretstr);

   if (strretstr)
       *strretstr = 0;

   while (1)
     {
       lfpos = ftell (fp);
       fgets (strline, 1024, fp);
       trim (strline);

       if (!*strline)
          continue;

       if (iLnNo)
           (*iLnNo)++;

       if (stricstr (strline, strtofind))
         {
           if (strretstr)
             {
               strcpy (strretstr, strline);
             }

           fseek (fp, lfpos, SEEK_SET);
           nfnd = 1;
           break;
         }

       if (feof (fp))
           break;
     }

   if (strretstr)
       return strretstr;
   else
       return (char *)nfnd;
}

| << | < | > | >> iMatix Copyright © 1996-2000 iMatix Corporation