0
私は1つのファイルから内容を取り込み、別のファイルに転送しています。特に、私は部分文字列 "LIBOR/Swap"を含む行を探しています。しかし、これは無関係で、私はそれらをコメントアウトしました。つまり、この特定のコードは現在、1つの.csvファイル(ファイル)内のすべての行を実際に別の.csvファイル(temp)に転送します。getline(file、line)が行をスキップしています - C++
問題は、転送がスキップすることです。データを転送する際にスキップしている行を表示するには、添付の写真を参照してください。
あなたが最初USD LIBOR /スワップラインで、見ることができるように、それは、1日率をスキップします。これはコード全体で発生します。
理由は何ですか?ありがとう。
ifstream file;
ofstream temp;
file.open("YC Rate Levels.csv");
temp.open("Temp.csv");
if (file.is_open())
{
string line;
string test = "LIBOR/Swap";
while (getline(file, line))
{
getline(file, line);
//if(line.find(test) != string::npos)
//{
temp << line << endl;
//}
}
temp.close();
file.close();
} else cout << "File did not open.";
std::cin.clear();
std::cin.ignore(32767, '\n');
std::cin.get();
}
これはうまくいった。ステートメントは条件付きだと思ったのですが?つまり、コードは新しい行がある間だけ続行されます。しかし、行を得るための実際の "行動"はありません。ありがとうございました! – user5619709
いいえ、アクションが実行され、値が返され、その値がfalseの場合、whileループは終了します。それ以外の場合、getline()メソッドは評価するためには知っていますが、実際には実行されません。また、呼び出すメソッドもすべて呼び出さなければなりません。 – LordWilmore
ああ、わかります。ありがとうございました。 – user5619709