Ir ao conteúdo
  • Cadastre-se

C fscanf pulando linhas sem motivo


Pedr1nh0

Posts recomendados

Oi, estou criando um código onde o fscanf lê a linha, o código identifica o 1 e imprimi a linha, no entanto ele está pulando linhas...

 

while (fscanf(carros, "%d%s%s%d*c", &disponivel, &placa, &carro, &diaria) != EOF){
					fscanf(carros, "%d%s%s%d*c", &disponivel, &placa, &carro, &diaria);
						if(disponivel == 1){
						printf("Carro: %s \nPlaca: %s \nValor Diario:%d Disponivel\n\n", carro, placa, diaria);
					}
				}

Esse é o pedaço do código responsável, e no meu FILE está:

1 XXX1111 Corsa 120

1 YYY2222 Gol 100

1 XXX3333 Fiesta 150

1 XXX4982 Uno 90

 

técnicamente era pra ele imprimir todas as linhas, pois todos estão 1, mas ele pula, ele acaba imprimindo o Gol e o Fiesta apenas...

eu achei q talvez ele tivesse pulando, mas se eu apago uma das linhas, ele aleatoriamente lê outra, mas não lê todas. Alguem sabe o porque?

Link para o comentário
Compartilhar em outros sites

Por causa disso

Citação

while (fscanf(carros, "%d%s%s%d*c", &disponivel, &placa, &carro, &diaria) != EOF){

Deixa só

Citação

while(!feof(carros))

e o fscanf ta erraod também. o certo seria

Citação

%d%s%s%d%*c

Você nao colocou o % da ultima mascara

adicionado 0 minutos depois

Ou então você pode fazer assim

while (fscanf(carros, "%d%s%s%d%*c", &disponivel, &placa, &carro, &diaria) != EOF){
						if(disponivel == 1){
						printf("Carro: %s \nPlaca: %s \nValor Diario:%d Disponivel\n\n", carro, placa, diaria);
					}
				}

 

Link para o comentário
Compartilhar em outros sites

56 minutos atrás, MassakiMsk disse:

Por causa disso

Deixa só

e o fscanf ta erraod também. o certo seria

Você nao colocou o % da ultima mascara

adicionado 0 minutos depois

Ou então você pode fazer assim


while (fscanf(carros, "%d%s%s%d%*c", &disponivel, &placa, &carro, &diaria) != EOF){
						if(disponivel == 1){
						printf("Carro: %s \nPlaca: %s \nValor Diario:%d Disponivel\n\n", carro, placa, diaria);
					}
				}

Valeu na vdd o problema era o fscanf repetido mesmo...

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...