比较字符串到c中的多个数组

维纳

最终的结果是将目录中文件的扩展名与2个单独的数组字符串进行比较,以便我可以对其进行排序并将其放到2个不同的文件夹中。

我在比较两个不同数组的字符串..esp与2个不同大小的字符串数组时遇到问题。

任何建议表示赞赏。

#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <string.h>

int main (void)
{
 DIR *dirP;
 struct dirent *dp;
 char *fileN; int i = 0;
 char *extMov[]= {".mp4",".flv"};
 char *extMusic[]= {".mp3"};

 dirP = opendir ("/Users/abc/Downloads");
 if (dirP != NULL)
 {
  while ((dp = readdir(dirP)) != NULL)
  {
   if((fileN = strrchr(dp->d_name,'.')) != NULL)
   {
    for (i=0; extMov[i] != NULL; i++)
    {
     if(strcmp (fileN,extMov[i]) == 0)
     {
      printf("%s\n",dp->d_name);
     }
    }
   }
  }
  closedir(dirP);
 }
 else
  perror (" Could not open the directory\n");
 return 0;
}
一些程序员哥们

您遇到的最大问题是,数组通常不会以任何方式终止。所以在你的循环中

for (i=0; extMov[i] != NULL; i++)

您很可能会跳出界线,并继续进行迭代,直到内存中有NULL某个地方,而这可能会超出界限。超出范围访问数组会导致未定义的行为,并使整个程序都怀疑有错误和违法行为,即使它可以正常编译且没有警告。


要解决此问题,您可以使用一些技巧来计算数组中的数字条目:

for (i=0; i < sizeof(extMov) / sizeof(extMov[0]); i++)

但是请注意,此技巧仅适用于适当的阵列。您必须记住,数组经常会衰减为指针,例如,将数组作为参数传递给函数时,此技巧将不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较字符串到c中的多个数组

来自分类Dev

比较(字符串)2个数组中的内容

来自分类Dev

在 Perl 中传递多个数组,字符串参数

来自分类Dev

将字符串数组复制到C中的另一个数组中

来自分类Dev

一维字符串数组与C中的二维字符串数组的比较

来自分类Dev

创建多个数组并将其关联到变量,而无需进行字符串转换

来自分类Dev

R:比较字符串在多个数据帧中的存在

来自分类Dev

比较Java中的字符串数组

来自分类Dev

Java比较数组中的字符串

来自分类Dev

比较 Swift 中的字符串数组

来自分类Dev

将单个字符串与C中的字符串数组进行比较

来自分类Dev

将字符串存储到C中的数组中

来自分类Dev

C将字符串存储到数组中

来自分类Dev

PHP - 在多个数组中查找值中的公共字符串并组合输出

来自分类Dev

将字符串收集到forEach中的单个数组中

来自分类Dev

比较java中的2个字符串数组并从两个数组中打印相同的元素

来自分类Dev

Javascript:将字符串拆分为多个数组

来自分类Dev

在JavaScript中将字符串转换为多个数组

来自分类Dev

将字符串与多个数组连接

来自分类Dev

Javascript:将字符串拆分为多个数组

来自分类Dev

将字符串拆分为多个数组

来自分类Dev

Angular Filter在多个数组中查找字符串

来自分类Dev

正则表达式捕获字符串中的多个数组索引文字

来自分类Dev

PHP 用多个数组中的值替换字符串

来自分类Dev

如何将词干字符串存储到单个数组中?

来自分类Dev

按字符串名称构建数组或按字符串值创建多个数组

来自分类Dev

如何获取字符串并存储到数组中然后与列表进行比较

来自分类Dev

使用 PHP 比较两个数组并将不常见的字符串存储在新数组中

来自分类Dev

数组中的对象到字符串

Related 相关文章

  1. 1

    比较字符串到c中的多个数组

  2. 2

    比较(字符串)2个数组中的内容

  3. 3

    在 Perl 中传递多个数组,字符串参数

  4. 4

    将字符串数组复制到C中的另一个数组中

  5. 5

    一维字符串数组与C中的二维字符串数组的比较

  6. 6

    创建多个数组并将其关联到变量,而无需进行字符串转换

  7. 7

    R:比较字符串在多个数据帧中的存在

  8. 8

    比较Java中的字符串数组

  9. 9

    Java比较数组中的字符串

  10. 10

    比较 Swift 中的字符串数组

  11. 11

    将单个字符串与C中的字符串数组进行比较

  12. 12

    将字符串存储到C中的数组中

  13. 13

    C将字符串存储到数组中

  14. 14

    PHP - 在多个数组中查找值中的公共字符串并组合输出

  15. 15

    将字符串收集到forEach中的单个数组中

  16. 16

    比较java中的2个字符串数组并从两个数组中打印相同的元素

  17. 17

    Javascript:将字符串拆分为多个数组

  18. 18

    在JavaScript中将字符串转换为多个数组

  19. 19

    将字符串与多个数组连接

  20. 20

    Javascript:将字符串拆分为多个数组

  21. 21

    将字符串拆分为多个数组

  22. 22

    Angular Filter在多个数组中查找字符串

  23. 23

    正则表达式捕获字符串中的多个数组索引文字

  24. 24

    PHP 用多个数组中的值替换字符串

  25. 25

    如何将词干字符串存储到单个数组中?

  26. 26

    按字符串名称构建数组或按字符串值创建多个数组

  27. 27

    如何获取字符串并存储到数组中然后与列表进行比较

  28. 28

    使用 PHP 比较两个数组并将不常见的字符串存储在新数组中

  29. 29

    数组中的对象到字符串

热门标签

归档