3

ifstreamは次のようなものをサポートしていますか?

ifstream myfile;
myfile.open("/home/Desktop/*.txt*");

同様の操作を行おうとすると、ファイルを開くことができません。私がそうする場合vim /home/Desktop/*.txt、help.txt1と呼ばれる唯一のファイルを開きますが、何らかの理由でifstreamを使用してそれを開くことができません。

4

4 に答える 4

3

簡単な答えは「いいえ」です。長い答えは「いいえ、そうではありません」です。

PSはglob関数を調べてファイルのリストを取得し、それらを1つずつ処理します。

于 2012-11-19T21:57:08.633 に答える
0

ファイル名のワイルドカードを照合する機能は、「グロビング」と呼ばれます。を使用glob(3)してファイルのリストを取得し、それぞれを順番に開く必要があります。

于 2012-11-19T21:58:14.890 に答える
0

これは、シェルが入力したコマンドを解釈するためvim /home/Desktop/*.txtです。パターンに一致するファイルを探し、それらのリストをvim実行可能ファイルのコマンド引数に渡します。

Unix上のC++から同様のことを行うには、関数をチェックしてくださいglob

于 2012-11-19T21:59:16.667 に答える
0

ifstreamワイルドカードはサポートしていません。またはを使用してすべてのファイルを取得し、DIR.txtを含むすべてのものをリストまたは配列に入れて、fopenそれぞれを呼び出してループする必要があります。

于 2012-11-19T22:00:16.413 に答える