对于我的生活,我无法比较这个数组的第一个字符
For the life of me, I can't compare the first character of this array
我想做的就是传递一个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;
}
我有什么不明白的吗?
编辑: 哈,!=
==
哎呀:)
如果你只是想比较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();
}
相关文章:
- 指向指向字符数组的指针数组的指针
- 比较字符数组
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 使用无符号字符数组有效存储内存
- 按字符值访问int数组
- 错误:字符数组的初始值设定项太多
- 对字符数组中的元素执行逐位操作
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- C++ 无法在字符数组中使用 for 循环打印字母模式
- 如何在 C++ 中从文件中读取字符数组(带有一些空格)
- 移动二维数组中的字符
- C++ 传递二维字符数组
- 无法在 C++ 中输入字符数组
- C++ 带结构的数组字符
- 数组字符包含量超出预期
- 读取文件并添加到数组字符
- 如何在Qt中更改或替换数组字符
- 为什么编译器不在参数中传递数组字符 *arr[] 的大小?
- 井字棋数组字符错误
- 分割数组字符