Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-10-2008, 11:16   #1
andreapav
Member
 
Iscritto dal: Oct 2008
Messaggi: 70
[C] problemi con fwrite-fread

ciao a tutti! avrei un problema su un programmino che in teoria più banale non si può ma non mi funziona...

devo creare un file che contiene dei double generati a caso... il problema è che credo anche li crei (creati mi da sempre 100) ma poi quando li legge non sempre riesce a leggerli tutti e 100... non capisco perchè!!!

NB: vabbè in realtà creo un file con 101 elementi dove il primo è il numero di dati ma non è granchè importante...

vi piazzo qua il listato...vedete se riuscite a trovare l'errore...non ne vengo più fuori!!!

Codice:
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

FILE *file, *input;

int main( int argc, char** argv ) 
{
	char* nomefile;
	double numero;
	double *vettore;
	int total_size;
	int i,n;
	int creati;

	nomefile = "input.dat";
	total_size = 100;

	/*Scrivi file*/

	srand((int)time(NULL));
	file = fopen( nomefile, "w" );
	if ( file == NULL ) 
	{
		printf( "Impossibile creare il file!" );
		exit( 1 );
	}
             /*scrivo l'header*/
	numero = (double)total_size;
             creati = fwrite( &numero, sizeof(numero), 1, file );
	for( i=0; i < total_size; i += 1 ) 
	{
		numero = (double)rand();
		printf("%d - %f ",i , numero);
	             creati = fwrite( &numero, sizeof(numero), 1, file );
		printf("(%d) \n",creati);
	}
	n = fclose( file );
	printf("file creato con %d valori \n",i);


	/*Leggi file*/

	input = fopen( nomefile, "r" );
	printf("file: %d \n",file);
	printf("input: %d \n",input);

	if( input == NULL ) 
	{
		printf( "Impossibile aprire il file\n");
		exit( 1 );
	}

	n = 0;
             /*leggo header*/
	creati = fread( &numero, sizeof(double), 1, input );
	printf( "header: file scritti %6.3f \n", numero);
	vettore = (double*)malloc((int)numero*sizeof(double));
	creati = fread( vettore, sizeof(vettore), (int)numero, input );

	fclose( input );
	
	printf("letti: %d",creati);

	return 0;
}
andreapav è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2008, 11:18   #2
IceCoder
Member
 
Iscritto dal: Dec 2007
Messaggi: 121
ho risposto sull'altro thread.
IceCoder è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2008, 11:29   #3
andreapav
Member
 
Iscritto dal: Oct 2008
Messaggi: 70
ti ho ringraziato di la... se chiudono quella discussione però perchè manca l'indicazione C copio la soluzione: basta sostituire w con wb e r con rb in mode di fopen...

...adesso però li sto stampando e me ne stampa mezzi giusti (fino al 50esimo) e gli altri sballa...come mai? se li legge tutti...
andreapav è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2008, 11:35   #4
IceCoder
Member
 
Iscritto dal: Dec 2007
Messaggi: 121
mh..

prova a sostiture questa linea:

creati = fread( vettore, sizeof(vettore), (int)numero, input );

con

creati = fread(vettore, sizeof(double), (int)numero, input);
IceCoder è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2008, 11:38   #5
andreapav
Member
 
Iscritto dal: Oct 2008
Messaggi: 70
hai ragione... refuso da prima!!!
grazie mille! ricordami che ti manderò un panettone per natale!
ciao!
andreapav è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Xiaomi SU7 Ultra: da domani tutti i gioc...
Sharp Inspire Expo 2026: da produttore d...
Razer Synapse Web è realtà...
Concessionarie Audi chiudono improvvisam...
Resident Evil Requiem: 4K, 60 FPS e ray ...
Le batterie LFP sono piccole e pesanti? ...
Motorola inarrestabile: nuova serie moto...
Decima generazione Pokémon: grafi...
Una nuova legge consente di rottamare un...
Google mostra per sbaglio Android per PC...
Tesla non convince più: crolla il...
OpenAI lancia Prism: l'AI ora lavora fia...
Nissan mette i pannelli solari su Ariya:...
Day 3 a Barcellona: la prima di Norris c...
Usa: il capo della cyber sicurezza ha ca...
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: 18:22.


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