知识—c++中strcmp 函数使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • strcmp 函数
  • (strcmp(p_file->d_name, ".") != 0 && strcmp(p_file->d_name, "..") != 0)
  • 总结

前言

(strcmp(p_file->d_name, ".") != 0 && strcmp(p_file->d_name, "..") != 0)

如何理解上述代码的作用?


strcmp 函数

strcmp 函数是 C 标准库中的一个字符串比较函数,用于比较两个字符串是否相等。

函数的原型如下:

int strcmp(const char *str1, const char *str2);

str1:要比较的第一个字符串。
str2:要比较的第二个字符串。

函数返回值:

如果 str1 等于 str2,返回 0。
如果 str1 小于 str2,返回负数。
如果 str1 大于 str2,返回正数。

(strcmp(p_file->d_name, “.”) != 0 && strcmp(p_file->d_name, “…”) != 0)

strcmp(p_file->d_name, “.”) != 0:

strcmp 函数用于比较两个字符串是否相等。如果当前文件的名称不等于字符串 “.”,即当前目录的表示,这个条件就会为真。

&&(逻辑与运算符):

逻辑与运算符要求其两侧的条件都为真,整个条件才为真。

strcmp(p_file->d_name, “…”) != 0:

同样使用 strcmp 函数,比较当前文件的名称是否不等于字符串 “…”,即上级目录的表示。


总结

综合起来,这个条件语句的目的是排除当前目录(“.”)和上级目录(“…”),以确保只将实际文件的名称添加到文件名列表中。