Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Salvare dati
Forum - C/C++ - Salvare dati - Pagina 3

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 23:11
Lunedì, 27/10/2014
Risolto: grazie mille. Ci risentiremo sicuramente tra non molto ;)

PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 23:14
Lunedì, 27/10/2014
E per verificare se il file contiene qualcosa?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:15
Lunedì, 27/10/2014
In che senso? Vuoi controllare la lunghezza?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 23:19
Lunedì, 27/10/2014
No, per fare che all'apertura del programma si verifica se il file contiene qualcosa, e in quel caso fa inserire un valore, nel caso in cui ci sia già un valore lo stampa.

Come si verifica se il file esiste e che sia vuoto/pieno?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:20
Lunedì, 27/10/2014
Si controlla la sua lunghezza ... vedi

http://www.cplusplus.com/reference/cstdio/ftell/


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
pbe (Normal User)
Pro


Messaggi: 131
Iscritto: 24/05/2014

Segnala al moderatore
Postato alle 23:35
Lunedì, 27/10/2014
Il codice finale sarebbe:
Codice sorgente - presumibilmente Delphi

  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.         FILE *f;
  7.         char c[10];
  8.         char buffer[10];
  9.         long size;
  10.        
  11.         f = fopen("file.txt", "w+");
  12.     if (f==NULL) perror("Error opening file");
  13.     else
  14.     {
  15.        
  16.     size=ftell(f);
  17.     if(size==0)
  18.     {
  19.         printf("Inserisci un valore: ");
  20.             scanf("%s",c);
  21.     }
  22.         /* Write data to the file */
  23.         fwrite(c, strlen(c)+1, 1, f);
  24.  
  25.         /* Seek to the beginning of the file */
  26.         fseek(f, SEEK_SET, 0);
  27.  
  28.         /* Read and display data */
  29.         fread(buffer, strlen(c)+1, 1, f);
  30.         printf("%s\n", buffer);
  31.         fclose(f);
  32.  
  33.  
  34.         }      
  35.         return(0);
  36. }



Però non funziona nè ftell() nè fread() in quanto fread() mi funziona solo se inserisco dallo scanf() un valore, infatti se tolgo lo scanf() non riesce a leggere il file, sebbene la scrittura funzioni.

Help:alert:

Ultima modifica effettuata da pbe il 27/10/2014 alle 23:36
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:42
Lunedì, 27/10/2014
Probabilmente non hai capito bene come funziona la ftell ...  hai letto bene l'esempio?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 13:58
Martedì, 28/10/2014
Testo quotato

Postato originariamente da pbe:
Testo quotato

Postato originariamente da TheDarkJuster:

Nel fwrite hai invertiti il secondo e il terzo parametro, Pensaci bene e vai a vendere gli esempi precedenti



Il risultato non cambia se li inverto.


Non cambia solo in questo particolare caso

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo