如何将缓冲区中的字符与字符串进行比较?
答案 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 );
试试这个。它会对你有所帮助。