strstr函数和strcmp函数的区别

strstr函数和strcmp函数的区别

strstr函数

    /*

  c语言strstr实现文本字符查找
  liangzongwen
  2018-07-16

*/
#include <stdio.h>
#include <string.h>
const char *FILE_BIN_PAH="filetext.txt";

void main()
{
  FILE  * fOut,*fIn;
  char inputchar[12]="english10",temp[256],m_szKeyWord[256];
  fIn=fopen(FILE_BIN_PAH,"wb");
  fwrite(inputchar,sizeof(inputchar),1,fIn);  
  fclose(fIn);
  printf("sizeof 成功将数据保存\n");

  printf("请输入你要查找的字符:\n");
  scanf("%s",&m_szKeyWord);
  fOut=fopen(FILE_BIN_PAH,"r");
  while(fgets(temp,sizeof(temp),fOut))
    {  

        temp[strlen(temp) -1] = '\0';
        //strstr(str1,str2)用于判断字符串str2是否是str1的子串
        if(strstr(temp, m_szKeyWord)!=NULL)
        {
            printf("找到了:%s\n",temp);                 
        }
    } 
  fclose(fOut);      

  printf("sizeof长度为:%d,strlen长度为:%d\n",sizeof(inputchar),strlen(inputchar));

}

strcmp函数

/*

  c语言strcmp 实现文本字符匹配查找
  liangzongwen
  2018-07-16

*/
#include <stdio.h>
#include <string.h>
const char *FILE_BIN_PAH="filetext.txt";

void main()
{
  FILE  * fOut,*fIn;
  char inputchar[14]="english10",temp[256],m_szKeyWord[256];

  fIn=fopen(FILE_BIN_PAH,"wb");
  fwrite(inputchar,sizeof(inputchar),1,fIn);  
  //注意对比
  //fwrite(inputchar,strlen(inputchar),1,fIn);  
  fclose(fIn);

  printf("sizeof 成功将数据保存\n");


  printf("请输入你要查找的字符:\n");
  scanf("%s",&m_szKeyWord);

  fOut=fopen(FILE_BIN_PAH,"r");

  while(fgets(temp,sizeof(temp),fOut))
    {  

        temp[strlen(temp) -1] = '\0';
        printf("strcmp(temp, m_szKeyWord)=%d\n",strcmp(temp, m_szKeyWord));
        //strcmp (str1,str2)
        if(strcmp(temp, m_szKeyWord)==0)
        {
            printf("找到了:%s\n",temp);                 
        }
    } 
  fclose(fOut);      

  printf("sizeof长度为:%d,strlen长度为:%d\n",sizeof(inputchar),strlen(inputchar));

}

区别比较

strstr函数只要求一个是另一个的子串,即为比较成功,如:strstr(str1,str2)用于判断字符串str2是否是str1的子串。
strcmp函数则要求两个字符串完全相同

猜你喜欢

转载自blog.csdn.net/YWDNDM/article/details/81060042
今日推荐