私が何を読み込むためのテキストファイルは一定のパターンがあります。このファイルを扱うのC++で複雑なテキストファイルを読むには?
Name line [tag name 452,54 | tag2 name 323,2 | tag3 name 252,25 ... ]
Name2 line [tag name 422,54 | tag2 name 33,2 | tag3 name 111,525 | tag4 name 222,2 ... ]
最も厄介な部分は、各行ごとにタグの数が設定されていないです。
私は、ファイルを1行ずつ読み込み、パターンを読みやすくするために縫い合わせたので、scanf()
を使用して変数を変数に分解するようにしていました。しかし、tag name
の語数は設定されていないので、あまり役に立ちませんでした。
データを失うことなくファイルのパターンを操作して読みやすくすることはできますが、解決策はありません。どのように私は、ファイルパターンを操作できるの 例:
Name line
tag name 452,54 | tag2 name 323,2 | tag3 name 252,25 ...
Name2 line
tag name 422,54 | tag2 name 33,2 | tag3 name 111,525 | tag4 name 222,2 ...
私は、セパレータとして[]
と|
記号を追加しましたが、理想的にそれらの少ない、より良いです。
Name line
tag name 452,54
tag2 name 323,2
tag3 name 252,25 ...
Name2 line
tag name 422,54
tag2 name 33,2
tag3 name 111,525
tag4 name 222,2 ...
類似のパターンで読んだことがある場合は、共有してください。私はちょっと立ち往生しています...
EDIT:これは単純な.txtファイルです。文字列値の代わりにtags name
とname line
を選択しました。それを簡単にするためのIDや何かがありません。
これをロードしたい構造のレイアウトは何ですか?標準インデックス配列またはハッシュ? –
あなたのフォーマットについてより具体的にする必要があります。 'line'はデリミタか入力の一部ですか?また、ファイル形式が少し壊れているようです。それぞれの 'N 'が位置によって定義されるときに' tagN'が存在するのはなぜですか? – pmr