Elaborare file con open lseek write e read

di il
2 risposte

Elaborare file con open lseek write e read

Ragazzi volevo chiedere una cosa.. esiste una funzione che sia alternativa a fgets, che invece di prendere come parametro un FILE * fd prenda un int fd? ovvero potendo aprire il file con la open invece che con la fopen? chiedo questo perchè sto studiando le funzioni dello standard POSIX open,close,read,write e lseek e non riesco a scrivere un programma che apra un file di testo e lo elabori riga per riga.. mentre invece risulta assai semplice aprendolo con fopen e elabolarlo con fgets. Su internet ho cercato e dicono tutti che va usato fgets e fopen anche per questione di portabilità del codice. e se io volessi usare open e read al posto di fopen e fgets?

2 Risposte

  • Re: Elaborare file con open lseek write e read

    Puoi benissimo usare le primitive di I/O, ma la gestione dei dati è a carico tuo. Devi inoltre considerare che in UNIX non c'è distinzione tra file di testo e file binari, mentre in Windows si (un CR di differenza per la precisione). Per cui se la read/write POSIX in ambito Windows non mette/toglie il CR in automatico, lo devi mettere/togliere tu.
    In altre parole, l'I/O di sistema è sempre binario.
    Il problema non si pone se usi le API C.
  • Re: Elaborare file con open lseek write e read

    Grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte