Ir ao conteúdo
  • Cadastre-se

bartolomeu kuma

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

posts postados por bartolomeu kuma

  1. fscanf(p,"%d",&ind[0].codigo);
    fgets(ind[0].nome,100,p);
    fgets(ind[1].nome,100,p);
    fscanf(p,"%d",&ind[1].codigo);

    queria entender porque quando coloco para ler um nome com espaço, seja com fscanf usando o [^\n] ou fgets, o programa não sai certo como se lesse apenas sem espaço, com o fscanf normal;

     

    quando coloco o código acima no mesmo código que tu enviou sai:

     

    563

     

    jose

     

    0

  2. Como limpa a tela do terminar  após a execução de uma parte do programa?

    Já tentei system(clear) e printf("\e[H\e[2J");

    Porém essa funções só jogam o printf pra baixo, o que foi processado antes continua em tela só que foi empurrado VÁRIOS espaços para cima, e não limpam a tela.

    • Curtir 1
  3. Citação
    
    #include <stdlib.h>
    #include <string.h>
    
    struct pessoa{
    	char nome[100];
    	int codigo;
    	
    };
    
    int main(int argc, char **argv)
    {
    	FILE *p = fopen("jose.txt","r");
    	struct pessoa ind[2];
    
    	fscanf(p,"%[^\n]s", ind[0].nome);
    	fscanf(p,"%d",&ind[0].codigo);
    	fscanf(p,"%[^\n]s", ind[1].nome);
    	fscanf(p,"%d",&ind[1].codigo);
    
    
    		
    	puts(ind[0].nome);
    	printf("%d\n", ind[0].codigo);
    	puts(ind[1].nome);
    	printf("%d\n", ind[1].codigo);
    
    	
    	
    	fclose(p);
    	
    	return 0;
    }

     

     

    No caso, estava tentando ler uma strings, depois um inteiro, e assim sucessivamente, mas retornava espaços vazios quando imprimia. Troquei o fgets para o fscanf, mas mesmo assim ele não lê a linha do arquivo apos o segundo fscanf, o retorno está assim:

     

    jose

    536

     

    0

     

    colocando o arquivo como:

    563

    jose

    jose

    563

     

    imprime isso:

     

    563

    0

    jose

    0

     

  4. Estou tendo problemas em ler consecutivamente linhas em um arquivo, ele é composto por:

    jose

    536

    jose

    536

     

    e a estrutura que coloquei para lê-lo foi:

     

    fgets

    fscanf´(lê como inteiro)

    fgets

    fscanf ´(lê como inteiro)

     

    porém, quando imprimo os dados lidos o resultado é:

     

    jose

    567

     

    0

     

     como conserta isso?

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!