Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C] fwrite && fread

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337

    [C] fwrite && fread

    sul mio manuale c'è scritto che le due funzioni ritornano il numero di elementi scritti/letti e in caso di errore è necesario usare feof && ferror.

    come posso usarle per capire il tipo id errore? sul manuale non c'è scritto niente

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Il tipo di errore? In che senso?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337
    in pratica sto creando un file con delle anagrafiche che vado a memorizzare e poi creo un indice, che ordino alfabeticamente, ma non è questo il problema

    l'indice viene ordinato volta per volta, facendo parecchi strcmp fino a che non trovo la posizione ideale per l'inserimento.

    il punto è che se sono al primo inserimento in assoluto nell'indice , mi da errore.

    infatti io faccio una fread della prima chiave dell'indice , solo che la prima volta che uso il programma la fread non va a buon fine, perchè l'indice è vuoto e il programma crasha.

    quindi mi serve qlc per capire se la fread ha letto o no l'elemento richiesto.

    pensavo di usare ferror ma non so come si utilizza e non ho trovato materiale.

    scusate se mi spiego a rate


  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    if(fread(...)==0) allora c'e' stato un errore ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337
    avevo anch'io fatto così , ma mi crashava ancora e penvaso allora di aver sbagliato.

    allora ho sbagliato a individuare l'errore.


    grazie

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Sì .... ma il problema potrebbe essere nel buffer che passi alla fread ... forse e' troppo piccolo ... bisognerebbe (come sempre) dare un'occhiata al codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337
    in questo caso stavo tentando di agigustare il codice di un mio amico, purtroppo non posso postarlo.

    me la caverò sbattendoci la testa.

    grazie oregon

    ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337
    errore trovato.

    in pratica nel codice c'era scritto
    (pseudocode)

    inserisic anagrafica in dat.dat

    apri l'indice ind ind.dat

    leggi il primo elemento dell'inidce e continua finchè nnn hai trovato la posizione

    il problema era che se l'indice non esisteva , lo creava ma andava cmq a ricerca della posizione.
    ovviamente andando in crash

    ho agigunto:

    if esiste-->cerca

    else->inserisci nell'indice e basta


    così funziona

    ciao

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