Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [C] prog su stringhe

  1. #1
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214

    [C] prog su stringhe

    Salve dovrei leggere da un file d testo dei dati

    ES:

    ho un file con dentro:

    dato1 dato2 dato3
    dato4 dato5
    dato6 dato7 dato8

    dovrei leggere ogni riga e inserire i dati in un array ottenendo:
    array[0]=dato1
    array[1]=dato2
    ...
    array[x]=datoX


    Come posso fare?

  2. #2
    ogni dato è separato da uno spazio o da una nuova linea?

  3. #3
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214
    da entrabe le cose.

    x le righe ho risolto con fgets ma non so come prendere i componenti separati dagli spazi.

  4. #4
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    potresti provare con la funzione strtok

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  5. #5
    Utente di HTML.it L'avatar di ibykos
    Registrato dal
    Feb 2005
    Messaggi
    201
    Potresti provare con una funzione di questo tipo

    codice:
    ...
    
    char c,
    
         dati[MAX_DATI][MAX_LUNGHEZZA];
    
    
    int i,
        j;
    ...
    
    i=0;
    j=0;
    
    while ((c=fgetc(f_pointer))!=EOF){
        if ((c!='\n')&&(c!=' ')){
            dati[i][j]=c;
            j++;
        }
        else{
            dati[i][j]='\0';
            j=0;
            i++;
        }
    }

  6. #6
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Un esempio che usa strtok:

    codice:
    #include <stdio.h>
    #include <string.h>
    
    int main ()
    {
      char str[] ="dato1 dato2 dato3";
      char * pch;
      pch = strtok (str," ");
      while (pch != NULL)
      {
        printf ("%s\n",pch);
        pch = strtok (NULL, " ,.");
      }
      return 0;
    }
    pch sarà un array di dati.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  7. #7
    Utente di HTML.it L'avatar di faibo
    Registrato dal
    Mar 2003
    Messaggi
    214
    ok grazie x l'aiuto.


    ciauz

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.