Ir ao conteúdo
  • Cadastre-se

Lucas.Rocha_21

Membro Júnior
  • Posts

    17
  • Cadastrado em

  • Última visita

  1. Estava vendo as funções responsáveis pela leitura e gravação de strings via arquivo texto e me deparei com a função fgets, que recebe como parâmetro um vetor de carácter, a quantidade de strings que serão lidas e o ponteiro que aponta para o meu arquivo texto. Para tal é necessário que eu aloque em tempo de copilação um vetor com uma quantidade fixa de espaço para armazenar o conteúdo das linhas, como pode ver neste programa-teste que fiz: #include <stdio.h>#include <stdlib.h>#include <locale.h>int main(void){ FILE *arquivoTexto; char letra; int cont = 0; char temp2[100]; setlocale(LC_ALL, ""); //aceitar acentos arquivoTexto = fopen("teste.txt", "w"); if(!arquivoTexto) //ou arquivoTexto == NULL { printf("Arquivo nao pode ser gravado"); exit(1); } fputs("Isto é um teste para ver se este arquivo\n", arquivoTexto); fputs("texto conseguiu gravar os arquivos adequadamente:\n", arquivoTexto); fputs("Mesmo com quebra de linhas\te inclusive tabulações.\n", arquivoTexto); fputs("Encerro este texto para afirmar que consegui.", arquivoTexto); printf("O arquivo foi gravado corretamente.\nAbra-o para ver\n\n"); fclose(arquivoTexto); arquivoTexto = fopen("teste.txt", "r"); if(!arquivoTexto) //ou arquivoTexto == NULL { printf("Arquivo nao pode ser lido"); exit(1); } while(!feof(arquivoTexto)) { fgets(temp2, 100, arquivoTexto); printf("%s", temp2); } return 0;} Como vocês percebem, cada linha do meu texto não possui um número fixo de caracteres. Uma delas é maior que a outra. Logo preciso "desperdiçar memória" chutando um valor alto para armazenar as strings. Gostaria de saber se tenho como alocar dinamicamente este vetor temp2 para que ele armazene a linha, não importa o número de caracteres que ela tenha e como procederia para fazer isto. Ou esta função fgets só aceita vetores estáticos? trabalhando com arquivos 3.rar

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!