だから、私が読みたいファイルの特定の行を見つけましたが、私が持っているものは機能していません:
string str;
int target = 0;
ifstream record;
record.open("Record.txt");
target = std::count(std::istreambuf_iterator<char>(record), std::istreambuf_iterator<char>(), '\n') - 8;
cout << target << endl;
for(int lineNum = 0; lineNum <= target; lineNum++)
{
getline(record, str);
if(lineNum == target)
{
cout <<"the id: "<< str << endl;
}
}
上記では、 std::count を使用してファイルの行数をカウントしています。私は常に下から 8 行目を読みたいと思っているので、それをターゲットに設定しました。次に、各ラインを目標時間までループし、目標ラインにいるかどうかを確認します。もしそうなら、行を数えます。
しかし、それは私に何も与えていません。22 行のファイルの場合、次の出力が得られます。
14
the id:
誰かが私が間違っていることを指摘したり、ヒントを教えてもらえますか? ありがとう!