1
私は読むべきテキストファイルを持っていますが、目的に応じてかなりフォーマットされていません。複数の区切り文字を含むファイルをC++で読む
データを構造体にソートする必要があり、データ型が異なるため、最初に構造体を配列にソートするので、順序に基づいて構造体にソートできます。 私は行を取得するためのコードを作成し、そこにスペースがあるかどうかをテストします。スペースがあれば、デリミタとして ''を使用して再度スキャンします。そうでなければ、文字列を配列に格納するだけです。ここで
はコードです:
int nextw(ifstream &file, string array[]){
string line;
string token;
stringstream iss;
size_t foundspace;
int i = 0;
while(getline(file, line)){
iss << line;
foundspace = line.find(" ");
if(foundspace != string::npos){
while(getline(iss, token, ' ')){
array[i++] = token;
}
}
else
array[i++] = line;
}
return i;
}
それは、配列の数を返します。
問題は、データの行をスキップすることです。 例えば、私は:
data data data data data
data
data
data
data
data
skipped_data skipped_data
data
data
etc...
スペース区切りでデータの2つのワードの単一の行がスキップされていることだけ。その行は、その行が単一の文字列であるかのように扱われているわけではありません。
編集:より多くのコード
私はそれを理解しました。 – user1279914
そして問題は? –
さて、私が探していたことは分かりました。私はgetline()を使って2日間物事を複雑にしていました。私は実際にはまだ私のコードがうまくいかなかったのかまだ分かりません。私は自分の質問に数時間以上答えることができないので、少しでも未回答のままになっています。 – user1279914