Newsgroup: it.comp.lang.c++
Titolo: File troppo grosso per il notepad :-/

salve,
ho realizzato un semplicissimo programma che mi calcola combinazioni
di numeri e stamperebbe l'output creando un file txt.
Il problema sono i suoi 500 mega che rendono il programma inapribile
da notepad.  Volendo posso copincollare il codice.
Come faccio?
grazie
Francesco


Domanda: che ti serve leggere un file di 500 mega con il notepad?
Se vuoi solo visualizzarlo, per verificarne il contenuto, ti conviene fare 
qualche dump a video o se e' in ambiente dos/windows usi il type.
Bisognerebbe capire cosa ne devi fare delle combinazioni che hai trovato.

 Come faccio?
Nello stesso modo in cui ti hanno suggerito su iclc.
-- 
-riko

 Bisognerebbe capire cosa ne devi fare delle combinazioni che hai trovato.
le devo stampare su carta.
Il programma è questo:
#include <stdio.h>
#define RIGA " --------------------------\n"
int main() {
  int a,b,c,d,e,f,g;
  FILE* ptrFile=fopen("da0a9999999.txt","w+");
  for (a=0;a<10;a++) {
    for (b=0;b<10;b++) {
      for (c=0;c<10;c++) {
        for (d=0;d<10;d++) {
          for (e=0;e<10;e++) {
            for (f=0;f<10;f++) {
              for (g=0;g<10;g++) {
                fprintf(ptrFile,RIGA);
		fprintf(ptrFile,"| %d | %d | %d | %d | %d | %d | %d |
\n",a,b,c,d,e,f,g);
              }
            }
          }
        }
      }
    }
  fprintf(ptrFile,RIGA);
  fclose(ptrFile);
  return 0;
}
Non sono informatico ho preso il lavoro perchè pensavo fosse semplice,
e pensavo anche di farlo gratis ma a questo punto qualcosa gli
prenderò perchè (per me semplice non è) e sta richiedendo un tempo e
un impegno che non pensavo richiedesse.
Mi sono studiato quello che mi serviva di C in venti minuti e ho fatto
il cuore del programma visualizzabile in dos in pochi minuti, poi è
stato rivisitato da una persona che lo conosceva bene per creare il
file txt.
Mi hanno detto di spezzarlo in tanti file ma non so minimamente da
dove partire. Ti prego di non darmi dritte di massima per quello che
gli chiedo e per il tempo che ho da dedicargli non mi servono, se puoi
fornirmi il codice definitivo ti ringrazio molto (magari sono solo due
righe di codice) altrimenti lascia stare gli dico che non lo so fare e
faccio prima. Maledetto a me che ho detto che lo sapevo fare!
grazie lo stesso
Francesco

 Nello stesso modo in cui ti hanno suggerito su iclc.
dimenticavo ho scaricato context ho provato a farlo aprire da li e mi
si è piantato tutto e ho dovuto riavviare la macchina anche dopo aver
chiuso il programma.
Un mio amico ha detto che per aprire 500 mega di file ci vuole un
"computer alfa" non so neanche cos'è
ciao
Francesco

Non sono informatico
E quello non è C++, ma C.
Per venire al tuo problema, prova con il Notepad++ (gratis), ma
potrebbe non farcela.
Invece con l'Ultraedit lo apri di sicuro, ma non è gratis.
Credo però ci sia una trial.
Ma hai presente quante pagine ti vengono, a stampare un file
di testo da 500 Mb?
-- 
Gerolamo 

 le devo stampare su carta.
Scaricati gvim da 
www.vim.org
, ordina un camion di carta in formato a4, 
qualche centinaio di cartucce x la tua stampante e preparati un camion 
vuoto per raccogliere lo stampato :) (i promessi sposi sono circa 2 mega 
di testo).
Bye,
  Gabry

 di testo da 500 Mb?
senza if sono 10 milioni di combinazioni. Con l'IF (pare che i numeri
debbano essere differenti tra loro) credo sul milione. Riducendo
all'essenziale (tutti nella stessa riga, senza spazi tra le cifre e
separati solo da un "-") abbiamo fatto un calcolo veloce al telefono e
siamo sulla risma di carta (non mi chiedere cosa ci devono fare...)
forse qualcosa di meno.
La soluzione migliore ovviamente è quello di spezzarlo su più file
(come ho scritto non so come).
bye
Francesco

 di testo).
ti ringrazio ora provo, ma la cosa migliore è spezzarlo in modo che se
lo possa gestire direttamente il cliente.
bye
Francesco

 Scaricati gvim 
dawww.vim.org
, ordina un camion di carta in formato a4,
eh lo so....
Ma il file è 
ftp://ftp.vim.org/pub/vim/pc/
 ?
E' il file vim72w32.zip (09/08/2008 - 16.49.00) da 860kb? (ci sono
molte differenze di peso tra uno e l'altro e non vorrei installare
qualcosa che non mi serve).
Spero che la disinstallazione immediatamente successiva sia indolore
come quella di context e non mi chieda se voglio disinstallare o meno
file condivisi.
Comunque opterei se possibile per avere pacchietti di file...
grazie
Francesco

               for (g=0;g<10;g++) {
Ossignur.
Ma sai quante pagine ti servono per stampare 10 milioni di numeri e 10 
milioni di interlinee?? Son grossomodo quasi 500 mila fogli!
Stampato fronte retro e con due colonne per pagina è sono gia 120 mila 
fogli, ma è un'immensità comunque. Qui piu che un problema di fattibilità 
informatica è un problema di fattibilità economica ed ecologica :)

 di testo
Molto meno! In formato HTML (quindi con un po' di roba spuria) ho
misurato 1.3 MB. Diciamo che stampare un file di numeri da 500 MB è IMHO
un atto criminale per il consumo di carta.
-- 
-riko

    for (b=0;b<10;b++) {
char nomeFile[256];
sprintf (nomeFile, "%i%i.txt", a, b);
FILE* ptrFile = fopen (nomeFile, "w+");
e poi prima delle ultime due graffe aggiungi
fprintf(ptrFile,RIGA);
fclose(ptrFile);
 

 Il problema sono i suoi 500 mega che rendono il programma inapribile
come non detto :-/
Ho conosciuto il "cliente". Un eccentrico falegname decisamente che si
vorrebbe giocare i numeri al lotto usando un suo "sistema", già questo
la dice tutta.
Il suo sistema lo ha capito solo lui. Numeri che si rincorrevano che
scorrevano e sparivano, sembrava più un videogioco che un sistema per
il lotto.
Quello che ho fatto non c'entra niente con quello che voleva lui. Ci
siamo messi in 3 a cercare di capire cosa volesse ma non ci siamo
riusciti (tra cui quelli che mi avevano detto cosa pensavano di aver
capito).
Tra parentesi i numeri non sarebbero più 10 ma 90...quindi tutta la
foresta Amazzonica non sarebbe bastata per stampare il risultato oltre
ovviamente a veder svuotato il conto di Bill Gates per metterlo in
pratica.
Ma porc... è_é
Mi scuso con tutti e vi ringrazio (in special modo GuGu che mi ha
suggerito il codice (che comunque ora provo lo stesso per curiosità))
Speravo che volesse scassinare qualche cassetta di sicurezza e
invece....
Così imparo a fare lavori per sentito dire....
scusate ancora.
bye
Francesco

 informatica è un problema di fattibilità economica ed ecologica :)
foresta salva :-)

 suggerito il codice (che comunque ora provo lo stesso per curiosità))
Be' allora anche il tuo codice era molto ridondante: stavi cercando le
_disposizioni con ripetizione_ di 90 elementi in 7 posti, che totalizzano
il brillante totale di 90^7 o 47˙829˙690˙000˙000 righe.
http://it.wikipedia.org/wiki/Disposizioni_con_ripetizione#Disposizioni_con_ripetizione
Invece avresti dovuto cercare le combinazioni _senza_ ripetizione, che sono
più gestibili e sono n!/m!(n-m)!, cioè 7˙471˙375˙560, lo 0,15% di quelli di
prima.
http://it.wikipedia.org/wiki/Combinazione
Comunque, un suggerimento più semplice per vincere al lotto è conoscere le
persone giuste del giro giusto, che sappiano quali numeri devono venire
estratti il tal giorno. Molto più semplice e non hanno mai arrestato
nessuno, che io sappia. Non penserà mica il tuo amico falegname che al
lotto vengano estratti dei numeri a caso?

 lotto vengano estratti dei numeri a caso?
ma Federico....sono degli innocenti e candidi bambini quelli che
estraggono i numeri 0:-)
Francesco

 estraggono i numeri 0:-)
Adesso stiamo virando nell'offtopic più laido, ma ci sono parecchi
trucchi, anche molto semplici: per esempio, la pallina designata viene
messa nel freezer, tirata fuori poco prima dell'estrazione, e si dice al
bambino di rovistare ed estrarre la pallina fredda. Ci fosse anche un
accertamento dei carabinieri, la prova del reato si estingue da sola per
conduzione termica dopo pochi minuti.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with SUSE - 
http://enigmail.mozdev.org
iD8DBQFIvO7cBIpu+y7DlLcRAvGRAJ480ZKlydiJ5T7YHbPluj45jG+XGQCfSaoz
wZMnxuh+yJetuhVhhfquu2Q=
=D8KX
-----END PGP SIGNATURE-----

 conduzione termica dopo pochi minuti.
Meglio scaldarla: tolta da freezer può esser visivamente individuata a 
causa della condensa che si forma durante il riscaldamento.

 causa della condensa che si forma durante il riscaldamento.
concordo. Sapevo che anni fa si facevano corrompere per dei
giocattoli...
...ora immagino non accetteranno premi inferori alla PS
Francesco