将缓冲区与C字符串进行比较

时间:2011-02-22 06:01:38

标签: c

  

可能重复:
  How to compare pointer to strings in C

如何将缓冲区中的字符与字符串进行比较?

4 个答案:

答案 0 :(得分:2)

通过缓冲区,我假设它不是NULL终止。然后,您无法使用strcmp,而是可以使用strncmp

答案 1 :(得分:1)

假设缓冲区是一个字符数组。您可以逐个字符进行比较。示例 -

char buffer[] = { 'a','b','c' };
char* str = "b";

int i=0;
while( i<3 )
{
    if( buffer[i] == *str )
        printf("\n Equal \n" );
    else
        printf("\n Not Equal \n" );

    ++i;
}

上面的代码应该为您提供如何实现的基本概念。结果:IdeOne

你需要考虑的事情来回答这个问题 -

  • 如果str指出的值为"abc"
  • ,该怎么办?
  • 如果需要将整个缓冲区与char*指向的值进行比较(即缓冲区等于char*指向的值,该怎么办?

答案 2 :(得分:1)

一开始会让很多人失望的是strcmp如果字符串匹配则返回 0 ,所以你通常会使用像if (!strcmp(buffer, "change"))这样的东西

答案 3 :(得分:0)

int strcmp ( const char *s1, const char *s2 );

试试这个。它会对你有所帮助。