2011-02-22 251 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"))