标签: c++ linux unix
我想通过C ++代码获取当前目录中存在的A*.txt类型的所有文件。我的操作系统是* Nix系统。另外,我想得到这些文件的名称。
A*.txt
请建议如何做到这一点。
我尝试使用系统命令,但是系统不会返回除整数之外的任何内容,该整数表示命令是否正确执行。
由于
答案 0 :(得分:3)
基本上有三种方法可以解决这个问题。
一个是基本上使用你之前尝试过的,但使用popen函数,它允许你读取你运行的命令的输出。
popen
第二种解决方案是使用例如opendir和readdir或scandir手动过滤并查找您要查找的文件。
opendir
readdir
scandir
第三种也是最简单的方法是使用glob功能。
glob
实际上还有第四种方式,一种是平台无关的,而且比上述方法更多C ++:使用the Boost filesystem library。