C でのテキスト ファイルの行の移動
C を使用してテキスト ファイルを操作する場合、特定の行にジャンプする必要がある場合があります。この目的のために C が提供する直接的な方法はありませんが、目的の行に到達するまでファイルをループすることでこれを実現できます。
特定の行へのループ
この解決策には、ループを使用して、目標行番号に達するまで行数をカウントすることが含まれます。この手法は、以下のコード スニペットで示されています。
<code class="cpp">#include <fstream> #include <limits> std::fstream& GotoLine(std::fstream& file, unsigned int num){ file.seekg(std::ios::beg); for(int i=0; i < num - 1; ++i){ file.ignore(std::numeric_limits<std::streamsize>::max(),'\n'); } return file; }</code>
GotoLine 関数は、ファイル ストリームのシーク ポインターを、指定された num 行の先頭に設定します。
コード
この手法を説明するために、次の内容を含むテキスト ファイルを考えます。
1 2 3 4 5 6 7 8 9 10
次のテスト プログラムは、8 行目にジャンプして内容を読み取る方法を示しています。
<code class="cpp">int main(){ using namespace std; fstream file("bla.txt"); GotoLine(file, 8); string line8; file >> line8; cout << line8; cin.get(); return 0; }</code>
出力:
8
ループ手法を実装すると、テキスト ファイル内の任意の特定の行に簡単に移動し、C でその内容にアクセスできます。
以上がC を使用してテキスト ファイル内の特定の行にジャンプするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。