Newsgroup: it.comp.lang.c++
Titolo: File esterno

Come si fa a salvare le informazioni immesse in un programma su un
file esterno?
Grazie

 file esterno?
#include <fstream>
#include "programma.h"
int main()
{
    using namespace std;
    ofstream file_esterno ("file_esterno");
    file_esterno << informazioni_immesse_nel_programma << endl;
}
... le voilà

... le voilà
Forse non mi sono spiegato bene e chiedo scusa.
Ecco il mio programma:
#include<stdio.h>
#include<conio.h>
typedef char vet[60];
typedef struct
   {
        vet nome;
        vet cognome;
        vet indirizzo;
        char telef[15];
        char cf[16];
   }persona;
void main (void)
{
   vet prova;
   //char prova[60];
   persona pers;
   clrscr();
   printf("inserisci il nome: ");
   scanf("%s",pers.nome);
   printf("\ninserisci il cognome: ");
   scanf("%s",pers.cognome);
   printf("\ninserisci l'indirizzo: ");
   scanf("%s",pers.indirizzo);
   printf("\ninserisci il numero di telefono: ");
   scanf("%s",pers.telef);
   printf("\ninserisci il codice fiscale: ");
   scanf("%s",
pers.cf
);
   printf("\nil nome della persona e' %s",pers.nome);
   printf("\nil cognome della persona e' %s",pers.cognome);
   printf("\nl'indirizzo della persona e' %s",pers.indirizzo);
   printf("\nil telefono della persona e' %s",pers.telef);
   printf("\nil codice fiscale della persona e' %s",
pers.cf
);
}
Vorrei salvare nome,cognome,ecc.. in un file in maniera che una volta
spento il computer le informazioni non vadano perse.

 void main (void)
... per Giove!
int main()
{
    using namespace std;
    persona pers;
    string da_leggere;
    cout << "inserisci il nome: ";
    getline (cin, da_leggere, '\n');
    pers.nome = da_leggere;
    cout << "\ninserisci il cognome: ";
    getline (cin, da_leggere, '\n');
    pers.cognome = da_leggere;
    cout << "\ninserisci l'indirizzo: ");
    getline (cin, da_leggere, '\n');
    pers.indirizzo = da_leggere;
    cout <<  "\ninserisci il numero di telefono: ";
    getline (cin, da_leggere, '\n');
    pers.telef = da_leggere;
    cout << "\ninserisci il codice fiscale: ";
    getline (cin, da_leggere, '\n');
 
pers.cf
 = da_leggere;
    cout << pers << endl;
    ofstream out ("output.txt");
    out << pers << endl;
}
e infine...
std::ostream& operator << (std::ostream& os, persona const& pers)
{
    os << "il nome della persona č " << pers.nome << endl;
    os << "il cognome della persona č " << pers.cognome << endl;
    os << "l'indirizzo della persona č " << pers.indirizzo << endl;
    os << "il telefono della persona e' " << pers.telef << endl;
    os << "il codice fiscale della persona e' " << 
pers.cf
 << endl;
    return os;
}

 spento il computer le informazioni non vadano perse.
La soluzione C è questa: apri un file e scrivi lì anzichè su stdout (file 
che rappresenta tipicamente lo schermo). Il codice è questo:
FILE* f = fopen ("nomefile", "w");
if (!f) 
        /* Errore, fai quello che vuoi */
        exit (1);
fprintf (f, "%s %s %s %s %s", pers.nome, pers.cognome, pers.indirizzo, 
pers.telefono, 
pers.cf
);
fclose (f);
Per caricarlo è simile, solo che anzichè aprire in scrittura (con "w") lo 
apri in lettura (con "r") e leggi con fscanf (file, parametri_come_scanf);
Leggiti la documentazione di fscanf, fprintf, fopen e fclose per saperne di 
più. E spostati su it.comp.lang.c
Ciao
-- 
Andrea Bergia - studente          Linux Registred User #281550
Per favore non mandatemi allegati in Word o PowerPoint.
Si veda 
http://www.fsf.org/philosophy/no-word-attachments.html