Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C程序检测文件中的特定字符串_C_String_File_Compare - Fatal编程技术网

如何使用C程序检测文件中的特定字符串

如何使用C程序检测文件中的特定字符串,c,string,file,compare,C,String,File,Compare,我有一个文件,我想读这个文件使用C程序使用文件操作。然后我想从该文件中获取参数。假设nalu_type=x。因此,每当我在该文件中检测到字符串nalu_类型时,我希望将值x放入由我定义的数组中。 请告诉我怎么做 提前谢谢 Sanket这听起来有点像家庭作业,但这里有一个基本策略应该会有所帮助 您基本上只想将文件解析为文本。迭代地找到字符串nalu_type=的索引,然后得到后面的子字符串。缺少的部分是限定值x的部分。您至少需要知道结束分隔符是什么。如果格式是nalu\U type=x fsca

我有一个文件,我想读这个文件使用C程序使用文件操作。然后我想从该文件中获取参数。假设nalu_type=x。因此,每当我在该文件中检测到字符串nalu_类型时,我希望将值x放入由我定义的数组中。 请告诉我怎么做

提前谢谢
Sanket

这听起来有点像家庭作业,但这里有一个基本策略应该会有所帮助


您基本上只想将文件解析为文本。迭代地找到字符串nalu_type=的索引,然后得到后面的子字符串。缺少的部分是限定值x的部分。您至少需要知道结束分隔符是什么。

如果格式是nalu\U 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");
}

重复上述步骤,直到文件结束。

我遇到分段错误。您能详细描述一下您的答案吗?@sunmoon-您在=符号周围添加了空格。原来的问题没有它们。如果没有空格,strstr可能是更好的选择。是否正在检查文件中第一个字符串中是否出现给定字符串?我想这是被跳过了。
# 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();
}