Newsgroup: it.comp.lang.c++
Titolo: Ancora codice non funzionante!!

Non ne posso più...questo è già il terzo esercizio del libro che non và a
buon fine ....il codice è:
#include <iostream>
#include <fstream>
#include<string>
int main()
{
    ofstream outfile (out_file);
    ifstream infile (in_file);
string parola;
while (infile >> parola )
        outfile << parola << ' ';
return 0
}
Il codice dovrebbe leggere le parole da un file e scriverle nell'altro
mettendo uno spazio tra una parola e l'altra....se creo a mano "in_file"
tutto a posto altrimenti il programmino non lo crea; perchè crea solo
"out_file" ?....l'istruzione "ifstream" serve a questo no !!
Dov'è questa volta l'errore ?
Ciao
Alessandro
P.S. sapete quale è il sito di supporto del Libro di Lippmann ? il link del
libro non và !!

 Dov'è questa volta l'errore ?
nessun errore ! Esattamente come l'altra volta ;-)
A parte il fatto che non fai il copia-incolla e quindi ci sono piu' di un
paio di errori di sintassi nel aver ricopiato il codice.
Vorrei sapere una cosa. Secondo te il file di "in_file" in base a che cosa
lo avrebbe creato ?!?
Alex


..pensavo lo avrebbe creato vuoto.....proprio perchè diceva
ANALOGAMENTE.....
ciao e grazie per le delucidazioni.....penso che finchè non prendo il
via.....sarò un pò palloso :-)
Alessandro

 via.....sarò un pò palloso :-)
No, ma che palloso ! Il NG e' fatto per questo e poi sei uno dei pochi che
non sei, con questi ultimi messaggi, assolutamente OT. (seguendo C++ primer
e' difficile andare OT!)
Alex

 ANALOGAMENTE.....
Pensaci. Stai cercando di aprire un file per *input*. Ergo vuoi leggerlo. Quindi
il file deve esistere (altrimenti non puoi leggerlo).
Cosa succede se cerchi di aprire un file per input ed il file non esiste? Come
minimo mi aspetterei un errore del tipo "file not found". Il sistema NON
DOVREBBE creare un file vuoto (per il file di ingresso) perche' se lo apri in
lettura non puoi scrivere. Immaginati di aprire un file da un CD rom. Cosa pensi
che debba succedere se il file non esiste? Che te lo crea vuoto? Difficile. Ed
e' certamente possibile aprire un file da CD in lettura.
Viceversa per un file che tu scrivi puo' aver senso che l'azione di aprirlo, se
non c'e', lo crei. Se cerchi di aprire un file in scrittura normalmente non ti
aspetti un "file not found" ma al massimo un "cannot create file" o "cannot open
file for write".
Naturalmente poi ci sono le variazioni per 'aprire in scrittura ma fallisci se
esiste', 'aprire in scrittura ma fallisci se NON esiste', 'aprire in scrittura
cancellando se esiste', etc. etc. Ma in generale un file aperto in sola lettura
... non verrà mai scritto (e creare non e' molto diverso dallo scrivere: anche
se non ci scrivi nulla di fatto allochi dello spazio sul disco per il file).
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556


CUT
...sei stato molto esplicativo e ti ringrazio; un'unica cosa.....riguarda la
frase quà sopra....se stò cercando di aprire un file per input vuol dire che
voglio scriverci, non leggerlo....ergo in teoria poteva crearlo!!
io non metto in dubbio quello che mi dite....beninteso....mi lamentavo del
fatto che il libro in alcuni casi si dimostrava non molto chiaro...forse a
causa della traduzione....come nell'altro post che ho inviato....
Comunque ora il concetto è chiaro e quello è importante, quindi vi ringrazio
Ciao
Alessandro

 Comunque ora il concetto è chiaro e quello è importante, quindi vi
ringrazio
Prego, e' sempre un piacere.
Alex

 voglio scriverci, non leggerlo....ergo in teoria poteva crearlo!!
Il soggetto e' il tuo programma: e' lui che apre il file per ricevere
dati in input.
Ciao,
Nicola