Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-07-2006, 20:12   #1
D4rkAng3l
Bannato
 
Iscritto dal: Mar 2004
Città: Roma
Messaggi: 2682
[C] Aiuto con fwrite e fread()

Voglio scrivere per esercitarmi un semplice programma che mediante fread() ed fwrite() scriva su un file il contenuto di un elemento di stipo struttura e poi mi visualizzi il contenuto del file sul monitor...è tuto il giorno che studio e stò fondendo...cos'è che non và?

Codice:
  GNU nano 1.3.5-cvs                         File: fwriteread.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct impie{
        char nome[20];
        char cognome[20];
};

typedef struct impie impie;

int main(){

impie cliente;          // Dichiaro un elemento di tipo struct impie
FILE *fp;               // Dichiaro un puntatore ad un elemento di tipo file

fp = fopen("filedati.dat", "w");  // Apri il file in modalità scrittura e attribuisci il puntatore restituito a fp

/* Scrivi con fwrite() il contenuto dell'elemnto cliente di tipo struct impie sul file puntato da fp */
fwrite(&cliente, sizeof(impie), 1, fp);
fclose(fp);             // Chiudi il file puntato da fp

fp = fopen("filedati.dat", "r"); // Apri il file in modalità lettura e attribuisci il puntatore a fp

/* Leggi con fread() il contenuto nel file con l'organizzazione del tipo struct impie */
fread(stdout, sizeof(impie), 1, fp);
fclose(fp);                     // Chiudi il file puntato da fp

return 0;
}
Grazie
Andrea
D4rkAng3l è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2006, 20:53   #2
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
se apri il file con w o r il file viene aperto in modo testuale, se lo apri con wb o rb lo apri in modo binario e puoi usare le funzioni fread e fwrite
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 13-07-2006, 08:24   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Codice:
/* Leggi con fread() il contenuto nel file con l'organizzazione del tipo struct impie */
fread(stdout, sizeof(impie), 1, fp);
Probabilmente ti manda in crash il programma se provi a riusare stdout dopo questa funzione, ma complimenti per la fantasia!!

Il modo corretto è:
Codice:
	impie record;
	FILE *fp = fopen("filedati.dat", "r");
	fread(&record, sizeof(impie), 1, fp);
	fclose(fp);
	printf("Nome: %s\nCognome: %s\n", record.nome, record.cognome);
Nota che probabilmente leggerai solo spazzatura, in quanto non hai inizializzato la struttura che hai scritto sul file.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
Svizzera, tassazione dei veicoli elettri...
Una stampante a getto di inchiostro 'lib...
Windows 11 25H2 (2025 Update): ecco la l...
Blink Mini e Outdoor 4 in super offerta:...
Fire TV Stick HD, 4K e 4K Max: streaming...
Echo Dot, Echo Show ed Echo Spot in offe...
Kindle Colorsoft e Scribe in offerta: co...
Disney diffida Character.AI: stop all'us...
ASUS ROG aggiorna la sua gamma: arrivano...
Avalanche Studios, la software house che...
Tante novità in arrivo per OnePlu...
Novità per la smarthome da EZVIZ....
Intel SGX e AMD SEV-SNP aggirabili su pi...
Autovelox, parte il censimento ufficiale...
Adobe Premiere arriva su iPhone: l'app &...
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: 13:59.


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