2011-02-22 247 views

回答

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

试试这个。它会帮助你。

+0

我试过strcmp(缓冲区,“更改”)。 – neha

+0

您可以尝试指针.... –

2

由缓冲区,我假设它不是NULL终止。那么你不能使用strcmp,而是你可以使用strncmp

+0

它指定的参数太少:strncmp(buffer,“change”) – neha

+0

@neha:它需要3个参数(请参阅链接)。第三个参数是缓冲区中的字符数。请注意,它匹配* substring *。如果您想要完全匹配,那么您需要将字符串长度与缓冲区中的字符数进行比较。 – Asha

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指向的值是什么​​?
  • 如果整个缓冲区需要进行比较,以通过char*(即缓冲区等于char*
1

东西引发了很多人送行首先指出值是strcmp回报指出值0如果字符串匹配,所以通常使用类似if (!strcmp(buffer, "change"))