我想要做的就是传递char* buffer
并将其与文字字符串"@"
进行比较 - 为什么这对我来说太难了。
char* buffer = "@3702";
string b(buffer);
string c("@");
if (strncmp(b.c_str(), c.c_str(), 1) == 0)
{
perror("Buffer malformated!");
return false;
}
我对此有何看法?
修改: haaaa,!=
而非==
呐喊:)
答案 0 :(得分:1)
如果您只想比较char*
并使用strncmp()
,则无需使用stl字符串。
int main()
{
char* buffer = "@3702";
char* c = "@";
if (strncmp(buffer, c, strlen(c)) == 0)
{
//same string
return true;
}
else
{
//not same string
return false;
}
getchar();
}
并且,请记住char[]
可以转换为char*
,因此在这种情况下,上面的代码与下面的代码类似。
int main()
{
char buffer[] = "@3702";
char c[] = "@";
if(buffer[0] == c[0])
{
//same string
return true;
}
else
{
//not same string
return false;
}
getchar();
}