"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como pular para uma linha específica em um arquivo de texto usando C++?

Como pular para uma linha específica em um arquivo de texto usando C++?

Publicado em 2024-11-11
Navegar:339

How to Jump to a Specific Line in a Text File Using C  ?

Navegando pelas linhas de arquivos de texto em C

Ao trabalhar com arquivos de texto usando C , você pode encontrar a necessidade de pular para uma linha específica. Embora não exista um método direto fornecido por C para essa finalidade, você pode alcançá-lo percorrendo o arquivo até chegar à linha desejada.

Looping to Specific Line

A solução envolve o uso de um loop para contar as linhas até atingir o número da linha de destino. Essa técnica é demonstrada no trecho de código abaixo:

#include 
#include 

std::fstream& GotoLine(std::fstream& file, unsigned int num){
    file.seekg(std::ios::beg);
    for(int i=0; i ::max(),'\n');
    }
    return file;
}

A função GotoLine define o ponteiro de busca do fluxo de arquivo para o início da linha numérica especificada.

Testando o código

Para ilustrar esta técnica, considere um arquivo de texto com o seguinte conteúdo:

1
2
3
4
5
6
7
8
9
10

O programa de teste a seguir demonstra como pular para a linha 8 e ler o conteúdo:

int main(){
    using namespace std;
    fstream file("bla.txt");

    GotoLine(file, 8);

    string line8;
    file >> line8;

    cout 

Saída:

8

Ao implementar a abordagem de loop, você pode navegar facilmente para qualquer linha específica em um arquivo de texto e acessar seu conteúdo em C .

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3