Ir ao conteúdo
  • Cadastre-se

C pegar uma linha do arquivo em c


XXTitioXX

Posts recomendados

Como eu pego uma determinada linha no C?no meu arquivo de texto,possui 3 palavras,porém quando printo na main,so aparece uma que é a primeira palavra

#include <stdio.h>
#include <stdlib.h>
#include<locale.h>
#include<string.h>

int abrir_arquivo(char *palavra){



    //O arquivo de palavras que sera lido
    FILE *file;
    int i=0;
    //abrindo o arquivo
    file=fopen("Frutas forca.txt", "r");
    //se o arquivo for encontrado

    //Vendo se o arquivo foi encontrado
    if(file==NULL){
        printf("erro");
    }



    while((fgets(palavra,50,file))!=NULL)




















        //fecha o arquivo
        fclose(file);



return palavra;
}

int main(){
    char palavraforca[50];

    abrir_arquivo(&palavraforca);
    printf("Na main %s",palavraforca);






return 0;
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@XXTitioXX     para pegar uma linha no arquivo txt é com fgets mesmo , e então depois de pegar uma linha no arquivo , você compara com a palavra que você quer , e se for igual , então coloque return 0 , para retornar para a main e imprimir tal palavra , e não precisa retornar nada pois a variável  palavraforca  recebeu a palavra procurada no arquivo , pois o ponteiro *palavra apontou para o endereço onde a palavra palavraforca está , e ao voltar para a main ela conterá a palavra encontrada no arquivo , e seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
int abrir_arquivo(char *palavra){
    //O arquivo de palavras que sera lido
    FILE *file;
    //abrindo o arquivo
    file=fopen("Frutas forca.txt","r");
    //se o arquivo for encontrado
    //Vendo se o arquivo foi encontrado
    if(file==NULL){
        printf("erro , Aquivo Inexistente !\n");
        exit(0);
    }
    while((fgets(palavra,50,file))!= NULL);/* aqui com ponto e vírgula não imprime nada */
        /*printf("%s\n",palavra);/*  sem aquele ponto e vírgula aqui imprime todas as linhas */
    
    //fecha o arquivo
    fclose(file);
    /*return palavra;  não precisa retornar nada */
    /* pois o ponteiro alterou o conteúdo daquela variável */
}
int main(){
    char palavraforca[50];               /* criando uma string na lingugem  c */
    abrir_arquivo(palavraforca);         /* enviando a variável por parâmetro */
    printf("Na main -> %s",palavraforca);/* aqui imprime a última palavra lida no arquivo */
    return 0;
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!