繁体   English   中英

C - 给定一个不区分大小写的文件路径,如何检查文件是否存在?

[英]C - given a case-insensitive file path, how to check whether the file exists or not?

例如,假设我们有一个名为“Hello.txt”的文件,那么检查“hello.txt”或“heLLo.txt”是否存在都应该返回true。

如果您运行的是 Windows 或任何不区分大小写的文件系统,那么除了检查一个大小写外别无他法。 如果"Hello.txt"存在,那么"hEllo.txt"存在(并且是同一个文件)(这里的难题是当你想确保文件在文件系统中用给定的大小写拼写时)

如果您正在运行区分大小写的文件系统,只需获取当前文件的目录名,列出文件内容,并将条目与当前文件名进行比较,忽略大小写。

看看fcaseopen ,它演示了如何处理不区分大小写的文件操作。

本质上,要使用的 C 头文件/函数是:

  • dirent.h ,使用opendir / readdir / closedir目录中的文件
  • string.h ,使用strcasecmp比较两个文件名,忽略字符的大小写

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM