Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C] Apertura file

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44

    [C] Apertura file

    Ciao a tutti!! Sto realizzando un progetto in C, devo implementare una funzione che ha la seguente firma:

    codice:
    int loadAgenda(FILE* ingresso, elem_t** agenda)
    Ciò che devo fare è leggere il contenuto de file ingresso ed elaboralo. Il mio problema è che non riesco a trovare le chiamate di sistema per aprire e leggere un file avendo come riferimento al file un FILE*.

    Le chiamate di sistema che sono riuscita a trovare sono:

    codice:
    int open(char* pathname, int flags, mode_p permission)
    codice:
    int read(int fd, void* buffer, size_t nbytes)
    Queste chiamate non hanno un FILE* tra i suoi parametri, come posso risolvere il problema??

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    Re: [C] Apertura file

    Originariamente inviato da kill9
    Ciao a tutti!! Sto realizzando un progetto in C, devo implementare una funzione che ha la seguente firma:

    codice:
    int loadAgenda(FILE* ingresso, elem_t** agenda)
    Ciò che devo fare è leggere il contenuto de file ingresso ed elaboralo. Il mio problema è che non riesco a trovare le chiamate di sistema per aprire e leggere un file avendo come riferimento al file un FILE*.

    Le chiamate di sistema che sono riuscita a trovare sono:

    codice:
    int open(char* pathname, int flags, mode_p permission)
    codice:
    int read(int fd, void* buffer, size_t nbytes)
    Queste chiamate non hanno un FILE* tra i suoi parametri, come posso risolvere il problema??

    Grazie
    non usare system calls
    cerca le funzioni fopen,fread
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    non riesco a trovare le chiamate di sistema per aprire e leggere un file avendo come riferimento al file un FILE*
    Per forza chiamate di sistema?
    Non vanno bene le funzioni della libreria standard del c come dice Metflar?

  4. #4
    Se hai un FILE * devi necessariamente usare le funzioni della libreria C, come la fread.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    44
    Si si, vanno benissimo, grazie mille. Ora però ho un problema, il file che devo leggere contiene una sequenza di caratteri tra cui dei terminatori di riga (\n), come posso fare per leggere con la fread i caratteri compresi tra due terminatori di riga?

    Il file è una sequenza di stringhe così formattate:

    gg-mm-aaaa utente#descrizione\n

    La lunghezza di ogni stringa può variare, l'unica informazione che mi viene fornita è la lunghezza massima della striga utente che può essere al più 8 caratteri e quella della descrizione che può essere al massimo di 80 caratteri

  6. #6
    Usa la fgets.
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.