Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    problema con fscanf: non prende i valori

    Buonasera a tutti! Ho iniziato da poco i file in C e ho un problema con un esercizio che proprio non riesc a capire xke non funzioni. ho un file di testo con dei numeri interi e devo leggere questi numeri e metterli dentro un vettore. Ho usato una fscanf che però non fa niente, cioè tiene i numeri giganteschi che ci sono all'inizio senza sostituirli con quelli del file. qualcuno mi può dare una mano?

    questo è il mio testo:

    #include <stdio.h>
    #include <ctype.h>
    #include <stdlib.h>
    #define MAX 6

    int main(int argc,char *argv[])
    {
    FILE *fp;
    int c;
    int numeri[MAX+1],numelementi=0,ok=1,i,j;
    fp=fopen(argv[1],"r");
    if(fp==NULL)
    {
    printf("Errore nella lettura del file.\n");
    }
    else
    {
    c=getc(fp);
    while(c!=EOF)
    {
    if(ok==1)
    {
    if(isdigit(c)!=0)
    {
    numelementi++;
    ok=0;
    }
    }
    else
    {
    if(isspace(c)!=0)
    {
    ok=1;
    }
    }
    c=getc(fp);
    }
    for(i=0;i<numelementi;i++)
    {
    fscanf(fp,"%d",&numeri[i]);
    }
    }
    printf("il file contiene %d elementi\n",numelementi);
    for(j=0;j<numelementi;j++)
    {
    printf("numeri[%d]=%d",j,numeri[j]);
    }
    fclose(fp);
    return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Usa i tag CODE del forum altrimenti il codice non si capisce ...

    Inoltre, a cosa servono tutte quelle chiamate a

    getc

    che fai prima della scanf ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    non sapevo come scrivere in altro modo il codice scusate...
    Ho trovato l'errore (dopo tutta la giornata) : dovevo mettere una rewind
    cosi il prossimo che trova questo problema magari non ci perde una giornata come me
    grazie mille lo stesso

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Se avessi risposto alla questione delle getc avresti risparmiato tempo ... se ti rivolgi ad un forum, dai un'occhiata alle risposte ogni tanto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    non mi andava più la connessione! se no certo che avrei guardato... -.-'

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.