Filepointer

di il
3 risposte

Filepointer

Ciao ragazzi,
allora io ho buttato giu un po di codice con questo esercizio:
/*scrivere un programma che apra un file, legga e visualizza una riga, poi torni indietro all'inizio del file e legga nuvamente la riga.*/

#include<stdio.h>

int main()
{

    int s,n;
    FILE *fp;
    char riga1[22],riga2[22];

    fp=fopen("lett_riga.txt","r");
    if(fp==NULL)
        printf("errore");
    n=fread(riga1,sizeof(char),22,fp);
    printf("il filepointer si trova in posizione: %d\n",n);
    printf("1 riga: %s\n",riga1);
    s=fseek(fp,0L,0);
    if(s<0)
        printf("errore\n");
    n=ftell(fp);
    printf("il filepointer si trova in posizione: %d\n",n);
    n=fread(riga2,sizeof(char),22,fp);
    printf("il filepointer si trova in posizione: %d\n",n);
    printf("2 riga: %s",riga2);
    fclose(fp);
}
quindi dopo aver inizializzato le variabili ho asseggnato fopen a fp, letto con fread ecc ecc

la mia domanda è: come mai la riga2 mi da due volte il risultato(riga 2: il programma funzionaXilprogramma funziona).

graze

3 Risposte

  • Re: Filepointer

    Usa la fgets non la fread

    fgets(riga1, 22, fp);

    fgets(riga2, 22, fp);
  • Re: Filepointer

    Oregon domani ci provo adesso sto con il cellulare. Ma perché mi conviene fare cosi
  • Re: Filepointer

    Perché tu non sai quanti caratteri ci possono essere nella riga nel file.
Devi accedere o registrarti per scrivere nel forum
3 risposte