Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

posizionarsi su una riga con fseek in C?

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

posizionarsi su una riga con fseek in C?

Messaggioda serialina80 » gio ott 30, 2008 10:00 pm

Buonasera a tutti :)
premesso che sono alle prime armi con la programmazione....spero che non sia una domanda stupida
come si fa a posizionarsi su una certa riga di un file di testo?Faccio un esempio: il file .txt ha 5 righe,come posso posizionarmi sulla terza riga?
Devo usare fseek,se si come?mi affido a voi
La ragione parla un linguaggio che l'emozione non comprende
Avatar utente
serialina80
Aficionado
Aficionado
 
Messaggi: 52
Iscritto il: mer dic 05, 2007 9:00 pm

Re: posizionarsi su una riga con fseek in C?

Messaggioda serialina80 » ven ott 31, 2008 6:49 pm

Ok.....fa niente....ho risolto..... [^]
La ragione parla un linguaggio che l'emozione non comprende
Avatar utente
serialina80
Aficionado
Aficionado
 
Messaggi: 52
Iscritto il: mer dic 05, 2007 9:00 pm

Re: posizionarsi su una riga con fseek in C?

Messaggioda dararag » ven ott 31, 2008 9:05 pm

posta come
Maledette aziende produttrici, l'unico telefilm interessante degli ultimi tempi l'hanno interrotto alla decima puntata... e chi voleva sapere la fine?
Avatar utente
dararag
Silver Member
Silver Member
 
Messaggi: 1116
Iscritto il: mar gen 22, 2008 8:57 pm
Località: Casoria

Re: posizionarsi su una riga con fseek in C?

Messaggioda serialina80 » sab nov 01, 2008 11:24 am

[acc2] ops scusa......questo è il codice di esempio:
Codice: Seleziona tutto
/*il programma deve aprire un file di testo contenente un certo numero di righe e per ogni riga 3 numeri.Si posiziona alla riga n(scelta dall'utente)
e fa la somma dei numeri di quella riga.Esempio file:
Numeri.txt
3 67 22
11 2 40
22 7 9

//include librerie
FILE *fd;
char buff[size_buff];
int iriga=0;
int nriga;//valore scelto dall'utente

int main(int argc, char **argv){
     //faccio inserire dall'utente il numero di riga di cui voglio la somma con i rispettivi controlli...nriga=2
      .........
      ........
      fd=fopen("Numeri.txt","r") //apro il file in lettura....Ho omesso il controllo degli errori sulla funzione per semplificare
      while((fgets(buff,size_buff,fd))!=NULL){//fgets mi estrae da fd una riga, il ciclo while mi permette di scorrere tutte le righe
                iriga++;//contatore di riga
                if(iriga==nriga){// quando il contatore iriga è uguale al valore scelto dall'utente
                          //estraggo ogni elemento dell'n-esima  riga con strtok()
                         //effettuo la somma......ricorda!! con atoi converti la porzione di stringa puntata in intero

                }
       }
        fclose(fd);


}


Dunque..... per posizionarsi alla riga n ho usato fgets con il while(e non fseek),perché fgets legge stringhe fino a che non trova il carattere'\0' che indica il carattere di fine riga.
Conclusione: non c'era bisogno di essere dei geni,bastava passare ore ed ore sul manuale del C.....è li il problema [B)]
La ragione parla un linguaggio che l'emozione non comprende
Avatar utente
serialina80
Aficionado
Aficionado
 
Messaggi: 52
Iscritto il: mer dic 05, 2007 9:00 pm


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising