检查文件名中是否存在通配符

check if file exists with wildcards in filename

本文关键字:存在 通配符 是否 文件名 检查      更新时间:2023-10-16

我需要的c++:

if( fileExists("c:foobar*.txt") ){
  cout << "file exists";
}else{
  cout << "file does not exists";
}

它几乎与这里描述的相同:如何检查Java中是否存在通配符的文件?,但对于c++

由于没有指定平台,因此有几个选项。对于POSIX兼容的系统,有这个解决方案的答案(信任他不是我的):

可以使用[glob()][1] POSIX库函数

对于Windows,有这样的解决方案:

setargv.obj(或wsetargv.obj)和argv[]链接将为您全局化,类似于Unix shell的操作方式:

  • http://msdn.microsoft.com/en-us/library/8bch7bkk.aspx

我不能保证它做得有多好。

或者对于一个简单的跨平台库,您可以尝试shwild或wildcmp,或者编写您自己的库来回答这个问题。