Ir ao conteúdo
  • Cadastre-se
RenanMaia

C RESOLVIDO Como copiar um arquivo .Txt inteiro para uma variavel char?

Recommended Posts

olá, eu sei que para ler o arquivo .txt eu posso fazer assim: while(fgets(VariavelChar, 90, file) != NULL).{ printf("%s", VariavelChar);}

 o problema é que quando eu preciso de algo desse arquivo e tento usar a VariavelChar a unica coisa que tem lá é a ultima linha do arquivo!

 

desde já agradeço!

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não pode fazer o que precisa dentro desse while e usar o dado relevante quando a linha dele for lida do arquivo?

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

então eu tentei fazer isso, mas ao que parece quando eu faço esse loop e de alguma forma tento passar o texto para uma variavel, não funciona! é como se primeiro ele lesse o arquivo inteiro pra depois rodar o loop. e no final apenas a ultima linha fica salva!

obs: posso ter feito do jeito errado mas acredito que não, pois tentei de diversas formas e sempre acontecia o mesmo.

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@RenanMaia     nessa linha de código  que você postou , ele vai imprimir tudo que está no arquivo, e a variavelChar conterá a uma linha lida, por ele vai ler o arquivo até o final,   então para colocar todo o arquivo em uma variável  você precisa criar uma variável com muitas posições , digamos umas 1000, e dentro do while quando fizer a leitura então coloque toda a linha lida na variável de 1000 posições usando o comando strcpy ( variavel , variavelChar ) ;  ,  mas antes de colocar precisa remover a quebra de linha que está no final da variável  e depois de colocar todo o arquivo na variável  coloque o caractere nullo  "  \0 "  sinalizando o final da string . 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

então acho que é esta quebra de linha que me lascando!

sabe me dizer como eu faço pra tirar o '\0' de cada linha?

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@RenanMaia     você tem razão precisa retirar o " \0 "  da variavelChar,   então para retirar você precisa   colocar um espaço   " "    em cima  desse \0  que se encontra no final da  variavelChar ,  e para achar o final da variavelChar você pode usar o comando strlen(variavelVhar) ; e aí coloca o espaço nessa posição da variavel que será em cima dele e em seguida coloque na outra variável usando strcpy ( variavel , variavelChar ) ; 

   poste seu código, para podermos ver como está e em que podemos ajudar  .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×