ifstream是否支持以下内容:
ifstream myfile;
myfile.open("/home/Desktop/*.txt*");
我正在尝试进行类似的操作,但我无法打开文件。如果我vim /home/Desktop/*.txt
我打开了唯一一个名为help.txt1的文件,但由于某种原因无法使用ifstream打开它。
答案 0 :(得分:3)
简短的回答是“不”。答案很长,“不,不是”。
P.S。查看glob
函数以获取文件列表并逐个处理它们。
答案 1 :(得分:0)
匹配文件名通配符的功能称为"globbing"。您需要使用glob(3)
获取文件列表,然后依次打开每个文件。
答案 2 :(得分:0)
这是因为shell会解释您输入的命令vim /home/Desktop/*.txt
。它查找与模式匹配的文件,并将它们的列表传递给vim
可执行文件的命令参数。
要在Unix上用C ++做类似的事情,请查看glob
函数。
答案 3 :(得分:0)
ifstream
不支持通配符。您必须使用DIR
或类似的东西获取所有文件,然后将.txt中的所有文件放入列表或数组中,并在每个文件上循环调用fopen
。