Ir ao conteúdo

Posts recomendados

Postado

Olá, estou com o seguinte problema. Tenho um arquivo txt no seguinte formato:

"

Fulano

Ciclano

Beltrano

"

E eu gostaria de extrair cada um desses nomes e colocar em uma posição diferente em um vetor de strings, porém eu não consigo fazer isso. O máximo que consigo é extrair todo o texto e por em um vetor de caracteres, o código ficou assim:

FILE *file = fopen("string.txt","r");
char frase [100];
  while(fgets(frase, 100, file) != NULL){
  printf("%s", frase);
}

Ou seja eu queria ter um "char frase[10][50]" e então colocar o nome fulano em frase[0], depois o ciclano em frase[1] e assim por diante. Alguém poderia ajudar ?

Obs: Eu nem preciso imprimir os textos no programa, só alocar eles de maneira correta mesmo.

Postado

Segue um exemplo para até 10 frases com até 99 caracteres cada:

FILE *file = fopen("string.txt", "r");
char frase[10][100];
int i;
for (i=0; i<10 && fgets(frase[i], 100, file) != NULL; i++)
    printf("%s", frase[i]);

 

  • Curtir 1
Postado

@isrnick Muito obrigado, seu código fez exatamente o que eu queria. Porém, eu não consegui entender como kkk

Como o programa identifica que a string vai do primeiro carácter até a quebra de linha sendo que o parâmetro é != NULL ? Eu pensei que deveria ter algum parâmetro que envolvesse '\n'.

Isso tem a ver com o modo que o fgets trabalha ?

Visitante
Este tópico está impedido de receber novas respostas.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!