Perl成语的C++方式是什么:
my @files = glob("file*.txt");
foreach my $file (@files) {
# process $file
}
没有标准的 C++ 方法可以模拟这一点,因为没有标准的 C++ 读取目录内容的功能。你可以做的是使用Boost.Filesystem:
#include <boost/filesystem.hpp> // plus iostream,algorithm,string,iterator
using namespace boost::filesystem; // and std
struct pathname_of {
string operator()(const directory_entry& p) const {
return p.path().filename(); // or your creativity here
}
};
int main(int argc, char* argv[])
{
transform(directory_iterator("."), directory_iterator(),
ostream_iterator<string>(cout, "\n"),
pathname_of());
return 0;
}
您可以使用fnmatch
. 但是您需要打开目录,阅读内容,并使用fnmatch
.
没有直接等效的标准 AFAIK。
叫我老同学。
f = popen("ls file*.txt", "r");