含まれているすべてのファイル名を抽出する必要があるファイル(テキストとして)があります。実装は次のようになりC++
ます。行の後にファイル行を読み取る(getline
)行が始まるかどうかを確認し#include
ます-どうすればよいですか?(先頭にスペースがある可能性があります)その後、ファイル名を抽出します-文字列""の間にあります-どうすればよいですか?ありがとう
1 に答える
0
まず、インクルードは中間<>
または中間のいずれかに配置される可能性がある""
ため、両方を確認する必要があります。
次へ - 試したことを実行する最善の方法は、正規表現を使用することです。使用している場合、c++11
それらは標準の一部であり、問題なく使用できるはずです。そうでない場合は、たとえばboost::regexを試してみてください。
正規表現を使用できない場合は、独自の解析を実装する必要がありますが、これはエラーが発生しやすく、奇妙なエッジ ケースを見逃す可能性が高くなります。必要に応じて、ファイルを 1 行ずつ調べて、そのような解析を実装します。行に#include
部分文字列が含まれているかどうかを確認し、その前に空白しかないことを確認します。行に前述の部分文字列がある場合は、行の残りの部分を繰り返し処理して、<>
またはの間の部分を解析し""
ます。
于 2013-01-23T09:49:54.503 に答える