in un esercizio si deve prendere da un file un intero messo nella prima riga e una stringa nella seconda tipo:
codice:
5
c'è qualquadra che non cosa
ecco il mio codice
codice:
#include <iostream>
#include <stdio.h>
using namespace std;

int main(){
FILE *fr;
int i;
char stringa[20];
fr=fopen("input.txt","r");
fscanf(fr,"%d",&i);
fgets(stringa,20,fr);
printf("%d%s",i,stringa);
return 0;
}
l'intero viene letto ma della stringa neanche l'ombra.
non posso usare fscanf(fp,"%s",stringa) perchè al primo spazio si fermerebbe, a me serve la stringa per intero.

come mai si comporta così?