Linguaggio C lettura file csv

di il
7 risposte

Linguaggio C lettura file csv

Ciao a tutti, ho creato un programma in c che mi consente di aprire un file .csv e di visualizzarne il contenuto.
Ora vorrei ricavare dei dati numerici da questo file .csv ma non so proprio come fare.
Il file .csv è strutturato in questo modo: nome ; cognome ; classe . A me servirebbe il numero della classe ma non so come "convertirlo in variabile" diciamo.
Qualcuno ha qualche idea? Con un puntatore potrei farcela? Se si, in che modo?

7 Risposte

  • Re: Linguaggio C lettura file csv

    Come visualizzi il contenuto con il tuo programma?
  • Re: Linguaggio C lettura file csv

    @oregon

    FILE *puntafile;
    int ilettere[26];
    int i;
    char ccar;
    int ncar=0;
    puntafile = fopen ("Z:\\informatica2\\provafputs.txt","r");

    for(i=0;i<26;i++)
    {
    ilettere=0;
    }

    if (puntafile != NULL)
    {

    while (!feof (puntafile))
    {
    ccar = fgetc(puntafile);
    ncar=ccar;
    putch(ccar);
    if(ccar>=64 && ccar<=91)
    {
    i=ncar-65;
    ilettere++;
    }

    }

    }
    fclose(puntafile);
    i=0;
    for(i=0;i<26;i++)
    {
    ncar=i+65;
    printf("\n Il carattere %c compare %d volte",ncar,ilettere);
    }



    Questo è il mio programma, stampa anche la frequenza di lettere presenti (es. la A compare n volte, la B compare n volte e così via).
  • Re: Linguaggio C lettura file csv

    Qualcuno ha qualche idea?
  • Re: Linguaggio C lettura file csv

    andrey ha scritto:


    Qualcuno ha qualche idea?
    Devi avere pazienza ... il forum non è una chat e si risponde quando si può...

    Il tuo problema si risolve in tanti modi. Uno è quello di usare una fgets per leggere tutta la riga in un vettore di char in una sola volta.

    Dopo cerchi nel vettore la posizione dell'ultimo carattere separatore e con la sscanf dal prossimo carattere ottieni un valore in una variabile numerica.

    A te scrivere il codice. Se non conosci le funzioni fgets e sscanf studiale online.
  • Re: Linguaggio C lettura file csv

    Ok grazie
  • Re: Linguaggio C lettura file csv

    Scusa ti volevo chiedere una cosa: se la classe non fosse centrale? Perché ho un altro file con la classe nella quarta colonna diciamo. Come faccio in quel caso?
  • Re: Linguaggio C lettura file csv

    Come nel caso precedente, devi contare il numero di caratteri separatori e, raggiunto quello prima del dato, esegui la sscanf.
Devi accedere o registrarti per scrivere nel forum
7 risposte