0

含まれているすべてのファイル名を抽出する必要があるファイル(テキストとして)があります。実装は次のようになりC++ ます。行の後にファイル行を読み取る(getline)行が始まるかどうかを確認し#includeます-どうすればよいですか?(先頭にスペースがある可能性があります)その後、ファイル名を抽出します-文字列""の間にあります-どうすればよいですか?ありがとう

4

1 に答える 1

0

まず、インクルードは中間<>または中間のいずれかに配置される可能性がある""ため、両方を確認する必要があります。

次へ - 試したことを実行する最善の方法は、正規表現を使用することです。使用している場合、c++11それらは標準の一部であり、問​​題なく使用できるはずです。そうでない場合は、たとえばboost::regexを試してみてください。

正規表現を使用できない場合は、独自の解析を実装する必要がありますが、これはエラーが発生しやすく、奇妙なエッジ ケースを見逃す可能性が高くなります。必要に応じて、ファイルを 1 行ずつ調べて、そのような解析を実装します。行に#include部分文字列が含まれているかどうかを確認し、その前に空白しかないことを確認します。行に前述の部分文字列がある場合は、行の残りの部分を繰り返し処理して、<>またはの間の部分を解析し""ます。

于 2013-01-23T09:49:54.503 に答える