0

これは比較的些細なことですが、C ++は初めてで、すべてのライブラリ関数間で迷子になっています。

実行しているプログラムのディレクトリに、SUFFIX_ordinal.xmlという形式のファイルがいくつかあります。(FE:SUFFIX_34.xml、SUFFIX_75.xml ..)

ディレクトリ内のすべてのファイルを反復処理し、これらのファイルを見つけて、それらの序数を抽出する必要があります。(FE:34、75)。

手伝ってくれますか?どこから始めればいいのかわからない。ありがとうございました。

4

1 に答える 1

1

通常boost.filesystem、ファイル名を反復処理します。

多くの人は承認しませんが、序数の抽出は次のsscanfようなものを使用するのが最も簡単かもしれません:sscanf(filename, "SUFFIX_%d.xml", &ordinal);

回避したい場合sscanf(あなたを責めるのは難しい)、次のようなものを使用するとかなり簡単ですstringstream

std::stringstream buffer(filename);

buffer.ignore(100, '_');
buffer >> ordinal;
于 2012-05-30T15:55:38.780 に答える