Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [C] scrivere su file

  1. #1

    scrivere su file

    Sto scrivendo un client, che legge dei dati inviati da un server.
    Io vorrei poter scrivere questi dati che visualizzo nella shell in un file.txt.
    Sto usando la funzione fopen, ma penso di sbagliare qualche cose.
    Vorrei sapere se nel path della fopen gli devo dare i dati che leggo e come gleili devo dare, visto che il mio client legge i dati da un char command[].

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Da un char command?

    Ma cosa vuoi dire?

    Cosa hai scritto?

  3. #3
    Voglio dire che io quando lancio il mio programma da shell leggo dei dati da un server.
    Questi dati io li devo mettere su un file e quindi vorrei scrivere una routine in modo tale che dopo che ho visto i dati sullo schermo li ho anche salvati su di un file.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il linguaggio? Letto il Regolamento?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma come li leggi questi dati dal server? Da dove vengono? Da un database?

    Insomma ... se non dai maggiori dettagli, non si puo' mica rispondere ...

  6. #6
    Scusate, il programma lo sto scrivendo in C.

  7. #7
    se parli di C (come sembrerebbe) alla fopen devi passare il path completo del file su cui vuoi scrivere e come secondo argomento la modalità con cui vuoi aprire il file
    La funzione di ritorna un puntatore a FILE che è una struttura che contiene tutte le informazioni del file che hai appena aperto (numero del descrittore, puntatore al buffer, dimensione del file etc).
    La chiamata è
    FILE *fd = fopen("mio_file.txt", "w");
    e lo hai aperto in scrittura.
    A questo punto puoi usare le funzioni di i/o tipo fput ecc a cui passi sempre il puntatore fd.+
    Poi chiudi tutto con
    fclose(fd),

    Prova anche come alternativa a fare un riindirizzamento tipo

    $mio_cliente parametri > mio_file_testo.
    Dipende da come è fatto il tuo programma ma può funzionare inviando tutto lo standard out sul tuo file di testo invece che allo schermo.

    ciao
    sergio

  8. #8
    Io io dati dal server li leggo tramite la funzione read.
    Il server prende questi dati da un misuratore di temperatura.
    Quando lancio il client lui li legge e me li stampa sullo schermo.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quindi, apri un file in scrittura con la fopen e con la fprintf scrivi sul file.

  10. #10
    se usi read allora i tuoi dati sono in un buffer, che è un puntatore ad una stringa di caratteri terminante per \0.




    FILE *f = fopen("/tmp/output.txt". "w");

    .. ciclo lettura dati dal server

    read(handle_del_dispositivo_da_cui_leggi, buffer, size);

    fprintf(f, "%s", buffer);

    ... ripeti ciclo finchè non è finito

    fclose(f);

    ....


    ciao
    sergio

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.