Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-02-2004, 23:48   #1
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
scrivere un vettore...

di 3011 componenti in un file con 60 celle per riga. come si fa la formattazione? Il linguaggio è C. grazie mille
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 00:03   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Cioè come è composta ogni riga ? Che tipo di dati ci vuoi mettere in ogni posizione ? Questi numeri li devi poi rileggere ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 09:45   #3
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Ho un vettore di 3011 celle di numeri interi (le cifre del risultato di 2^10000) e devo riportare tale numero in un file di testo con formattazione di 60 cifre per riga. Ho risolto per ora cosi

for (n=0; n<=3010; n++)
{
fprintf(dat,"%i",a[n]);
fprintf(bin,"%i",a[n]);
i=i++;
if (i==60)
{
fprintf(dat,"\n");
i=0;
}

ma volevo sapere se c'era un metodo migliore per farlo. In fortran 90 c'è proprio una formattazione adeguata (60I1), ma il C lo conosco poco poco e nn so dove mettere le mani.

Inoltre per scrivere un file in formato binario, basta aggiungere il suffisso b nella linea dell'fopen all'operazione che si vuole eseguire su quel file e niente altro? Per esempio scrivendo bin=fopen("ciao.bin","wb") e lasciando tutto il resto per la gestione dei files invariato? grazie mille.
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 10:05   #4
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Il file dovrebbe venire come questo fatto in Fortran 90
Allegati
File Type: zip 2_10000.zip (1.7 KB, 10 visite)
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 11:56   #5
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Devi usare un file ASCII:
Codice:
   dat=fopen("ciao.dat","wb");
Inoltre, definendo
Codice:
   int a [3011];
   short i;
   short n;
ed essendo il vettore 'a' già valorizzato precedentemente (ogni elemento è di una cifra?), si fara:
Codice:
for (n=0; n<3011; ) {
   i=0;
   while (i<60) {
      fprintf (dat, "%d", a[n++]);
      i++;
   }
   fprintf (dat, "\n");
}

Ciao
fpucci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 13:00   #6
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Il file binario nn mi funziona ancora, lo scrive come un file ascii.
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 17:42   #7
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Quote:
Originariamente inviato da ciottano
Il file binario nn mi funziona ancora, lo scrive come un file ascii.
Infatti come te l'ho spiegato io viene creato SOLO come file ascii.
Perché (a che ti serve?) vuoi il file binario?
fpucci è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 18:51   #8
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
si miserve il file binario perche devo scrivere, per un esame, un programma che mi calcoli 2 alla 10000 e mi scriva il risultato in un file asci con su ogni riga 60 cifre del numerone che viene fuori ed anche in un file binario.
In fortran sono riuscito a fare tutto, ed anche per il C leggendo nel manuale in linea ho trovato che bisogna solo aggiungere come suffisso all'operazione da compiere (in questo caso scrivere su file) la b ("wb").
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 17-02-2004, 23:41   #9
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Per avere il file binario basta aggiungere la fprintf() relativa:

Codice:
   bin=fopen("ciao.bin","wb");   /* File binario */
   dat=fopen("ciao.dat","w");  /* File ASCII   */

   for (n=0; n<3011; ) {
      i=0;
      while (i<60) {
         fprintf (bin, "%d", a[n]);
         fprintf (dat, "%d", a[n]);
         n++;
         i++;
      }
      fprintf (dat, "\n");
   }
fpucci è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2004, 12:01   #10
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Proverò, grazie.
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 18-02-2004, 18:56   #11
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Ciao, senti la scrittura su file in modalità binaria nn mi funziona, sembra che nn serva solo aggiungere la b nell'apertura del file.
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 02:44   #12
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Quote:
Originariamente inviato da ciottano
Ciao, senti la scrittura su file in modalità binaria nn mi funziona, sembra che nn serva solo aggiungere la b nell'apertura del file.
Che vuol dire che non funziona? Cosa ottieni? Cosa ti aspetti?
fpucci è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 10:30   #13
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Allora mi aspetto che venga fuori un file come nel caso del fortran 90 che allego. Cmq adesso come adesso mi viene, utilizzando il suffisso b alla modalità di scrittura, solo un file con dentro il vettore ma in formato ascii, cioè come nel caso del file puntato da dat. Cmq allego anche il listato che funziona egregiamente tranne che per la scrittura del file binario.

Ecco il listato
Allegati
File Type: zip dad.zip (899 Bytes, 1 visite)
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 10:32   #14
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
il file binario dovrebbe venire come questo che ho fatto col fortran
Allegati
File Type: zip 2_10000.zip (2.2 KB, 2 visite)
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 14:28   #15
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Per la scrittura del file binario, puoi procedere anche nel seguente modo:



aggiungi:in cima al programma:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

e poi sostituisci
FILE * bin;
...
bin=fopen("2_10000.bin","wb");
...
fprintf(bin,"%d",a[n]);
...
fclose (bin)
con
int bin;
bin = open ("2_10000.bin", O_WRONLY | O_CREAT)
...
write (bin, a, sizeof (a)); /* FUORI DA OGNI LOOP */
...
close (bin)

ed esegui. ATTENZIONE: l'istruzione write() deve essere fuori da ogni loop! (magari prima della relativa close())

Ti allego il file binario che ho ottenuto
Allegati
File Type: zip 2_10000.bin.zip (2.2 KB, 4 visite)
fpucci è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 15:47   #16
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Ok, il file sembra essere lui, nelle dimensioni è identico a quello ottenuto con fortran. potresti spiegarmi cosa hai fatto? sai dovrei ripeterlo al prof e nn posso dire nn lo so. cmq strano che ci voglia tutto questo casino per scrivere un file binario, molto meglio il fortran
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 15:52   #17
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Quote:
Originariamente inviato da ciottano
Ok, il file sembra essere lui, nelle dimensioni è identico a quello ottenuto con fortran. potresti spiegarmi cosa hai fatto? sai dovrei ripeterlo al prof e nn posso dire nn lo so. cmq strano che ci voglia tutto questo casino per scrivere un file binario, molto meglio il fortran

Te l'ho spiegato nell'ultimo msg.
Prendi il tuo sorgente e lo modifiche come te l'ho detto io.
Ti assicuro che il C non è assolutamente più incasinato del fortran... basta prenderci la mano!
fpucci è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 15:57   #18
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
L'ho provato ora. Nn riesce ad includere unistd.h, ho provato a toglierlo e mi dice coll to funcion "Xxxxx" whit no prototype.

L'ho fatto girare lo stesso e mi funziona, cioè salva i due file binario ed ascii. Grazie mille cmq.
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 15:59   #19
ciottano
Senior Member
 
L'Avatar di ciottano
 
Iscritto dal: Apr 2003
Messaggi: 6479
Si ho capito come fare manualmente ma tutte qelle chiamate ai file *.h....insomma cosa è cambiato da prima? garzie
__________________
Roma: affitto stanza ammobiliata a ragazzo/a lavoratore/ice e/o studente/ssa adiacente metro. Mandatemi un pvt o mail
Sono Dott. in Fisica: offro lezioni in matematica e fisica a ragazzi dalle elementari fino all'università a Roma Nord, prezzi modici
Utente da evitare: fabyor
ciottano è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2004, 17:12   #20
fpucci
Senior Member
 
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
Quote:
Originariamente inviato da ciottano
Si ho capito come fare manualmente ma tutte qelle chiamate ai file *.h....insomma cosa è cambiato da prima? garzie
Ho un'idea migliore: nel tuo codice sorgente utilizza la fwrite() in luogo della fprintf() relativa al file binario e lascia tutto il resto invariato. Ecco la riga di istruzione che devi sostituire (non ricordo se l'indice dell'array è 'n' oppure 'i')
fwrite (&a[i], sizeof(int), 1, bin);
ossia: "scrivi 1 elemento del verrore 'a' (il contenuto di a[i]), la cui dimensione è quella di un intero"

Adesso purtropo non ho tempo. Se posso, ti mando il file corretto, ma non so se faccio in tempo

Ciao
fpucci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
NVIDIA celebra 25 anni di GeForce 3: per...
Leapmotor B10: arrivano Android Auto e A...
La missione Artemis II con il razzo spaz...
Blue Origin propone di utilizzare Blue R...
Sora all'interno di ChatGPT: aumentano g...
L'Ufficio dell'Ispettore Generale ha ana...
Primo contatto con Volvo ES90: ammiragli...
La Cina potrebbe puntare con maggiore de...
Un clamoroso errore strategico: il nuovo...
Cos’è il nuovo cartello del "...
HP: gli attacchi con l'IA puntano su vel...
Acer compie 50 anni e si trasforma: dall...
La rete elettrica USA funziona solo a me...
La Corte Costituzionale albanese: 'Il ba...
Secondo trailer del nuovo anime di Ken i...
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: 08:22.


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