我可以使用 strcmp 作为 bool 值吗?

标签 c strcmp

我尝试使用 fgets 根据用户输入的字符串调用不同的函数。我知道稍后我需要使用 strtok,因为会有空格,例如“load 12”。但现在,我对使用 strcmp 比较输入的字符串感到困惑。我知道 strcmp 可以这样使用:

int check;
char string[10] = "test";

check = strcmp(string, "test");
// Check will be 0 if true

if (check == 0)
{
    printf("same string\n");
}
else
{
    printf("not the same\n");
}

可以是像 true 和 false 这样的 bool 值吗?如果“test”实际上是“test”, bool 值变为true,那么我将在 if 语句中使用 bool 值。

最佳答案

您可以编写并使用包装器/辅助函数来实现此目标,如下所示:

bool are_equal(char* a, char* b)
{
    return strcmp(a, b)==0;
}

关于我可以使用 strcmp 作为 bool 值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36469898/

相关文章:

C:比较字符串

c - strcmp 函数在另一个函数中返回值

c - 如何在 C 中使用 strcmp 将用户输入与文本文件进行比较?

c - 之前完美的C程序在Ubuntu上编译后无法运行

c - strcpy如何改变string的值

c - 文件到c中的动态数组

c - 为什么内存碎片是 64 位机器上的一个问题?

c - 将 GHashTable 转储到文件

c++ - 字符串的值不同,但打印它们显示相同的值

C程序排序链表