gpt4 book ai didi

c++ - 比较 C 中 char[] 的相等性

转载 作者:可可西里 更新时间:2023-11-01 15:38:43 26 4
gpt4 key购买 nike

我有两个变量:

char charTime[] = "TIME";
char buf[] = "SOMETHINGELSE";

我想检查这两个是否相等...使用 charTime == buf 不起作用。

我应该使用什么,有人可以解释为什么使用 == 不起作用吗?

此操作在 C 和 C++ 中会有所不同吗?

最佳答案

char charTime[] = "TIME"; char buf[] = "SOMETHINGELSE";

C++C(删除 C 的 std::):

bool equal = (std::strcmp(charTime, buf) == 0);

但真正的 C++ 方式:

std::string charTime = "TIME", buf = "SOMETHINGELSE";
bool equal = (charTime == buf);

使用 == 不起作用,因为它试图比较每个数组的第一个字符的地址(显然,它们不相等)。它不会比较两个数组的内容。

关于c++ - 比较 C 中 char[] 的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com