[英]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.