Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
OPPO Reno14 F 5G si propone come smartphone di fascia media con caratteristiche equilibrate. Il device monta processore Qualcomm Snapdragon 6 Gen 1, display AMOLED da 6,57 pollici a 120Hz, tripla fotocamera posteriore con sensore principale da 50MP e generosa batteria da 6000mAh con ricarica rapida a 45W. Si posiziona come alternativa accessibile nella gamma Reno14, proponendo un design curato e tutto quello che serve per un uso senza troppe preoccupazioni.
Destiny Rising: quando un gioco mobile supera il gioco originale
Destiny Rising: quando un gioco mobile supera il gioco originale
Tra il declino di Destiny 2 e la crisi di Bungie, il nuovo titolo mobile sviluppato da NetEase sorprende per profondità e varietà. Rising offre ciò che il live service di Bungie non riesce più a garantire, riportando i giocatori in un universo coerente. Un confronto che mette in luce i limiti tecnici e strategici dello studio di Bellevue
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-10-2007, 17:25   #1
nesly
Member
 
Iscritto dal: Oct 2006
Messaggi: 60
[C] Funzioni fread e fwrite

Per scrivere e leggere su file solitamente uso fscanf e fprintf ma avendo necessità di effettuare ricerche sul programma che devo fare mi trovo costretto ad utilizzare fread e fwrite.

f=fopen("database.txt","a");
printf("Inserisci il nome: ");
gets(nome); getchar();
fwrite(nome,1,sizeof(nome),f);
printf("\nInserisci il cognome: ");
gets(cognome); getchar();
fwrite(cognome,1,sizeof(cognome),f);
printf("\nInserisci data di nascita: ");
gets(datanascita); getchar();

fclose(f);

Il file mi viene creato correttamente ma quando vado a leggere con fread non mi restituisce niente il programma oppure mi restituisce schifezze.

Per esempio se volessi stampare solo nome farei così:

f=fopen("database.txt","r");


fread(nome,1,sizeof(nome),f);
puts(nome);

fclose(f);

Dove sbaglio?

Grazie
nesly è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2007, 22:37   #2
telluccio
Member
 
Iscritto dal: Jan 2005
Messaggi: 46
ciao nesly spero di esserti d aiuto:
sicuramente non l hai trascritto dovresti dichiarare f come struttura(tipo) FILE *f;
dovresti controllare fopen per capire se e tutto ok,
if(fopen("database.txt","a"))printf("fopen restituisce NULL..sbagli qualcosa"):
ciao.
telluccio è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 10:34   #3
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16211
Quote:
Originariamente inviato da nesly Guarda i messaggi
Per scrivere e leggere su file solitamente uso fscanf e fprintf ma avendo necessità di effettuare ricerche sul programma che devo fare mi trovo costretto ad utilizzare fread e fwrite.

f=fopen("database.txt","a");
Usa il tag "code" quando scrivi linee di codice. Così:
Quote:
Codice:
    printf("Inserisci il nome: ");
    gets(nome); getchar();
gets non è una funzione sicura: usa fgets.
Oltretutto: non vorrei sbagliare, ma hai allocato spazio per la stringa nome prima di chiamare gets?
Quote:
Codice:
    fwrite(nome,1,sizeof(nome),f);
Se nome è un puntatore a char, la sua sizeof è quella di un puntatore qualsiasi.
Se vuoi la lunghezza di una stringa, non devi usare sizeof ma strlen.

Se invece nome è un array di char, allora la sua lunghezza come array non è sizeof(nome), ma sizeof(nome)/sizeof(nome[0]).
Fa' attenzione, perché questo trucco funziona solo con gli array statici.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Tutor FIVE, il progetto che trasforma Al...
Osservata esplosione di raggi gamma (GRB...
Sean Duffy (amministratore ad interim de...
Renault lancia la super promo: porte ape...
Il tuo portatile ASUS ROG non funziona c...
Zoom migliora il suo operatore virtuale ...
Traguardo Omoda & Jaecoo in Italia: ...
EHT mostra nuove immagini di come cambia...
Il gioiellino di Fastned: aperti in Belg...
La nuova mini workstation AI di MinisFor...
Formula 1 2026, nuove gare Sprint in cal...
MacBook Pro con display OLED e supporto ...
Poste Italiane: dati di milioni di utent...
Microsoft blocca RaccoonO365, rubate olt...
15 anni dopo Skate 3, il gioco torna sot...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v