Problema fscanf in C con CodeBlocks

di il
1 risposte

Problema fscanf in C con CodeBlocks

Salve tutti, ho appena sostenuto l'esame di informatica all'università e provando a compilare il programma a casa e debugganado ho notato che la fscanf è come se non ci fosse, non mi copia la stringa contenuta nel file nella stringa dichiarata. Allego il pezzo del programma interessato
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct{
    char prodotto[17];
    int qt;
} prodotti;
int main()
{
    FILE* fp1;
    FILE* fp2;
    prodotti magazzino,richiesta;
    char v;
    if((fp1=fopen("magazzino.txt","a"))==NULL){
        printf("errore file");
        exit(-1);
    }
    while(fscanf(fp1,"%s %d", magazzino.prodotto,&magazzino.qt)!=EOF) //il problema sta qui, non entra nel while, se uso feof e fscanf la metto dentro, nel file ci entra (quindi non è un problema del file) ma non va lo stesso.
         {
            if((fp2=fopen("richieste.txt","a"))==NULL)
            {
                printf("errore file");
                exit(-1);
            }
            while(fscanf(fp2,"%s",richiesta.prodotto)!=EOF)
                {
                    if(strcmp(magazzino.prodotto,richiesta.prodotto)==0){
                        magazzino.qt--;
                        fprintf(fp2,"%s v",richiesta.prodotto);
                    }
            }
            fclose(fp2);

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte