bartolomeu kuma
-
Posts
8 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por bartolomeu kuma
-
-
Entendi, mas o código tem que ser gerado de maneira aleatória, por isso estava usando int nele, tem como fazer isso com uma string ou terei que gerar o código como inteiro e depois armazenar na string? Tem alguma função que transforme inteiros em tipo char ?
-
problema é que eu tenho que ler o nome com os espaços, o fscanf não faz isso e quando coloco o [^\n] ou o fgets buga tudo... Vou testar a sugestão do rjj, qualquer coisa atualizo o post.
-
obrigado a todos , resolvido o problema!
- 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
-
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.
- 1
-
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
-
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
Problema em ler linhas em um arquivo
em C/C#/C++
Postado
Deve ser esse problema mesmo, ele lê uma linha vazia que deve ser o \n, como resolve isso? Coloquei setbuff, getchar mas o erro continua.