Как обнаружить определенную строку в файле с помощью программы на C - PullRequest
0 голосов
/ 14 марта 2011

У меня есть файл, и я хочу прочитать этот файл с помощью программы на Си, используя операции с файлами.Тогда я хочу взять параметры из этого файла.Скажем, nalu_type = x.Поэтому всякий раз, когда я обнаруживаю строку nalu_type в этом файле, я хочу поместить значение x в массив, который я определил.подскажите пожалуйста как это сделать.

Спасибо заранее Sanket

Ответы [ 3 ]

5 голосов
/ 08 октября 2012
# include<stdio.h>
# include <conio.h>
# include <string.h>

void main()
{
    int noc=0,l;
    FILE *fp;
    char *str2,ch;
    char*str1;
    clrscr();
   printf("Enter the String to be matched\n");
    gets(str1);
    l=strlen(str1);
    fp=fopen("A.C","r");
    while(1)
       {
        ch=fgetc(fp);
        if(ch==EOF)
        break;
        else if(ch==' ')
         {
          fgets(str2,l+1,fp);
           if((strcmp(str1,str2))==NULL)
            noc++;
         }
        }

      printf("NO of occurence is: %d",noc);
      getch();
}
2 голосов
/ 14 марта 2011

Если формат nalu_type = x

 fscanf(fp, "%s", buf);
if !strcmp(buf, "nalu_type")
{
   fscanf(fp, "%s", buf);
    if ( ! strcmp(buf, "="))
     fscanf(fp, "%s", buf);
    else
    printf("\n Not a valid format");
}

Повторите вышеизложенное, если до конца файла.

0 голосов
/ 14 марта 2011

Это немного похоже на домашнюю работу, но вот основная стратегия, которая должна помочь.

Вы просто хотите проанализировать файл как текст. Итеративно найдите индекс строки "nalu_type =" и затем получите подстроку того, что будет после этого. Часть, которую вам не хватает, это то, что ограничивает значение х. Вам нужно знать, что такое конечный разделитель, по крайней мере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...