Ciao a tutti!
Ho questo programma che pippolo mi ha aiutato a compilare. Il programma consiste in un serie di istruzioni che, dato un file in ingresso formato da due numeri divisi da spazi(per esempio -12 4), leggono il file, dispongono i due numeri in stringhe distinte e convertono le cifre in numeri interi.Ora devo fare un passetto in avanti, cioè devo supporre che il file sia composto da più linee di dati incollonati a due a due. In questo caso come faccio a trasformare il programma in modo che ad ogni chiamata la fgets mi legga la linea successiva del file?
Vi scrivo il programma qui sotto; grazie per l'aiuto!!!!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *fgets(char *,int,FILE *);
int main()
{
FILE *fp;
char stringa[100],s1[10],s2[10];
int i,j,num1,num2;
if((fp = fopen("infile.txt","r")) == NULL)
printf("errore");
else
{
fgets(stringa,100,fp);
if(stringa[0] != '+' && stringa[0] != '-' && stringa[0] != ' ')
{
printf("errore\n");
}
else
{
for(i = 1;stringa[i] != ' ';i++)
s1[i] = stringa[i];
s1[i++] = '\0';
for(j = 1;stringa[i] != '\0';j++,i++)
s2[j] = stringa[i];
s2[j++] = '\0';
}
}
num1 = atoi(&s1[1]);
num2 = atoi(&s2[1]);
if(stringa[0] == '-')
num1 *= -1;
printf("%d\t%d\n",num1,num2);
system("PAUSE");
return 0;
}
:gren: :gren: :gren:

Rispondi quotando
)
