在c中比较2d字符数组与1d字符数组

标签 c arrays char

我想将数组的第二个元素与字符串进行比较,看看它们是否匹配。我正在尝试使用 memcmp 来执行此操作,但它给了我一个错误。这是解决这个问题的正确方法,还是我已经完成了?抱歉,我是 C 语言新手。

char array[5][32] = {"foo","boo","moo"};
char string[32] = "boo";
int ret;
ret = memcmp(array[1][32], string[32], 4) //4 because i don't want it too match 'book'
if (ret == 0) {
     printf("equal");
} else {
     printf("not");
}

最佳答案

您可以通过以下方式使用“strcmp”函数来完成此操作:

if ( strcmp( array[1], string ) == 0 ) {
  printf("equal\n");
}
else {
  printf("not equal\n");
}

关于在c中比较2d字符数组与1d字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26101620/

相关文章:

c - 如何在 while 循环内重新分配 *char[] ?

java - 当 String 是有效的 char 时将 String 转换为 char

c - C 中使用信号量的有界缓冲区

c - 在C中读取二维字符串数组

php - 使用一个数组过滤另一个数组

java - 比较游戏中 Java 中的数组

c++ - 指向字符串常量的指针

c - 如何识别用户输入的字符串中的所有元音

c - 为什么这个结构数组只访问第一个元素并显示其余元素的段错误?

c - 读取文本文件并将其排序到新文件中