Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    160

    [C] Dubbi sulla sintassi di fwrite... problema da super-principiante!

    Seguendo un tutorial ho realizzato uno programmino che prende lo standard input da tastiera e lo va inserire in un file che viene creato sul momento.
    Non mi è chiara la sintassi della seguente riga, quando vado a scrivere.
    ---
    fwrite(contenuto, 1, 90, puntailfile);
    ---
    Ora la sintassi di 'fwrite' è:
    fwrite(buffer,sizeof(*buffer),buffsize,stdout)
    dove
    I^ parametro: indica il contenuto del file nel quale vado a scrivere;
    III^ parametro: Il numero massimo di caratteri che posso inserire
    IV^ parametro: Il nome del file nel quale vado a scrivere

    Non riesco però a capire il significato del secondo parametro. Seguendo i miei appunti dovrebbe "specificare la modalità di apertura del file": questo significa che esiste un codice numerico (mi sa che sto dicendo una stronzata!) che corrisponde alle modalità di letttura o scrittura di un file?
    In questo caso '1' è la modalità di scrittura?

  2. #2

    RE:fwrite()

    il secondo parametro è la dimensione
    in "byte" degli oggetti il cui numero
    è specificato dal terzo parametro

    fwrite(contenuto, 1, 90, puntailfile);

    Preleva 90 oggetti di dimensione 1 "byte"(secondo parametro)
    dal vettore "contenuto" e li immette sullo stream
    specificato dal puntatore "puntailfile"

    Ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    160

    Problema legato alla scritura su file

    Allora adesso ho un altro problema:
    riesco a creare un file .txt all'interno del quale scrivere però in coda al testo che inserisco in input, vengono poi aggiunti caratteri strani tipo ûÿ¿X× @_m.@ðr pûÿ¿X......

    Perchè succede questo? Da dove saltano fuori?
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    160
    Ripropongo la questione......

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    12
    Se scrivi fwrite(contenuto, sizeof(contenuto), 1, nomeFile) dovrebbe funzionare

  6. #6
    Utente di HTML.it L'avatar di JamesD
    Registrato dal
    Oct 2001
    Messaggi
    415
    Ora ne sparo una...
    Praticamente con la fwrite non fai altro che scrivere delle specie di record all'interno di un file di testo. A regola se tutto funziona bene (e qui ci sto buttando alla grande) se vai a leggere il file che hai scritto con la fread non dovrebbe visualizzare i caratteri che dici, ma solo ciò che avevi realmente scritto.
    :master: non mi sono capito neanch'io ma spero di avere reso l'idea!

    Praticamente prova a leggere il file che hai scritto con la fread e guarda il risultato

  7. #7
    Se scrivi fwrite(contenuto, sizeof(contenuto), 1, nomeFile) dovrebbe funzionare
    Io ho sempre fatto:
    fwrite(&contenuto, sizeof(contenuto), 1, stream_del_file)
    Il mio Blog

    Nella vita come sul tram, quando ti siedi sei al capolinea.
    Camillo Sbarbaro

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    160
    OK ora mi funziona!

    -- per taita --
    Come mai scrivi "&contenuto"?
    Ma non è l'unica domanda: se inserisco uno spazio nel testo che immetto, il risultato finale è questo: ²L_°êÀ䀁Ï
    vale a dire una porcata totale!
    Perchè succede ciò?

    E' possibile modificare il tutto per fare in modo cha anche i caratteri di spazio vengano accettati?

    Lo so....quante domande!
    Grazie

  9. #9
    Il carattere & indica che segue un riferimento ad un puntatore. Evidentemente contenuto e´un puntatore ad array e quindi con &contenuto si indica al c di usare il contenuto della variabile e non il puntatore.
    Per lo spazio tra le due stringhe mi viene da consigliarti di usare una diversa stringa per ogni parola, dividendo quando hai uno spazio. Purtroppo non ricordo come avevo risolto il problema, ma fai un po´ di prove con gli array. Dovrebbe esserci una funzione fget () o qualcosa del genere. Dacci un´occhiata.
    raga, non ne so assolutamente nulla!

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.