Maison > développement back-end > C++ > Pouvez-vous accéder directement à une ligne spécifique dans un fichier texte à l'aide de C fstream ?

Pouvez-vous accéder directement à une ligne spécifique dans un fichier texte à l'aide de C fstream ?

Patricia Arquette
Libérer: 2024-11-01 12:58:29
original
762 Les gens l'ont consulté

Can You Directly Jump to a Specific Line in a Text File Using C   fstream?

Recherche d'une ligne spécifique dans un fichier texte avec C

Avec la bibliothèque fstream en C, il devient pratique de lire et d'écrire dans des fichiers texte . Cependant, accéder directement à une ligne spécifique peut être difficile. Cette question explore une solution potentielle à ce problème.

Problème :

Si un fichier texte est ouvert à l'aide de fstream, existe-t-il un moyen simple d'accéder à une ligne particulière , comme la ligne 8 ?

Réponse :

Bien que fstream fournisse un moyen de définir le pointeur de recherche du fichier, il ne permet pas directement de passer à une ligne spécifique . Une approche pratique consiste à parcourir le fichier en ignorant toutes les lignes jusqu'à ce que la ligne souhaitée soit atteinte. Voici comment cela peut être réalisé :

<code class="cpp">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>
Copier après la connexion

Cette fonction prend le fichier et le numéro de ligne qu'elle doit rechercher et renvoie l'objet fichier.

Exemple :

Considérons un fichier texte avec le contenu suivant :

1
2
3
4
5
6
7
8
9
10
Copier après la connexion

Le programme C suivant montre comment utiliser la fonction GotoLine :

<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>
Copier après la connexion

Sortie :

8

Dans cet exemple, le programme lit la huitième ligne du fichier texte et imprime le contenu, qui est "8".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal