C Leitura de arquivo com números junto com letras linha a linha [RESOLVIDO]

1. C Leitura de arquivo com números junto com letras linha a linha [RESOLVIDO]

wython as Vivaldo
wython

(usa Debian)

Enviado em 28/01/2018 - 20:06h

É possível ler as linhas e mostras os números na tela? se sim mandem exemplos pls...



Quando executo não mostra os devidos números


o arquivo é esse config.ini:

#########screenshot############################################
screenshot número de fotos= 5
screenshot minutos para cada foto= 1
#########WEBCAM################################################
webcam número de fotos= 5
webcam minutos para cada foto= 1
###############################################################

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#include<stdbool.h>
main()
{
FILE * fig;
int screen; int tempo1;
int cam; int tempo2;
setlocale(LC_ALL,"");
fig=fopen("config.ini","r");
printf("As definições são:\n\n");
printf("#########screenshot############################################\n");
fscanf(fig,"%d",&screen);
printf("screenshot número de fotos= %d\n",screen);
fscanf(fig,"%d",&tempo1);
printf("screenshot minutos para cada foto= %d\n",tempo1);
printf("#########WEBCAM################################################\n");
fscanf(fig,"%d",&cam);
printf("webcam número de fotos= %d\n",cam);
fscanf(fig,"%d",&tempo2);
printf("webcam minutos para cada foto= %d\n",tempo2);
printf("###############################################################\n");
fclose(fig);
}


  


2. Interessante

wython as Vivaldo
wython

(usa Debian)

Enviado em 29/01/2018 - 01:02h

Vou analisar essa função sscanf(); depois testa-la e digo se funcionou


3. Obrigado essa função do seu exemplo funcionou.

wython as Vivaldo
wython

(usa Debian)

Enviado em 29/01/2018 - 12:39h

SamL escreveu:

Exemplo:

for (;;)
{
fgets(str, 256, fig);
if (feof(fig))
break;
//um jeito bem feio mas funcional, sem parsear o arquivo
sscanf(str,"screenshot número de fotos= %d",&num);
sscanf(str,"screenshot minutos para cada foto= %d",&minuto);
}

Explicando sscanf
ele pega a str passada e faz uma "comparação" (oplha as aspas, com a string padrão, se a str parece o padrão passado, tipo se str for "contador=9" e o padrão for "contador=%d", ou seja, tem uma substring "contador=" mais um número inteiro. Então, ele vai modificar a variavel passada (num ou minuto) e colocar o valor lido nela.









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts