PDA

Visualizza la versione completa : [C++] Aquisire Stringa da File


Akira86
24-06-2004, 23:44
Ciao...

Ho un bug nel cervello. Non mi ricordo più come si aquisisce il testo di un file che ha spazzi (blank). Mi spiego meglio.



char File[100];
int c=0;

ifstream F (File.log");
if (!F.is_open())
MessageBox(0,"Errore.","Attenzione",MB_OK);

while(!FDir.eof()){
F>>File[c];
c++;}


Questo e un modo però c'è ne un altro che non ricordo. So che si utilizava un cin.getline mi sembra e non cera il ciclo while.
Anche perche in questo modo (con il codice postato sopra) gli spazzi ( ' ' ), presenti nel file di testo, non vengono passati nel vettore 'File'.

Come e la Sintassi del altro modo, migliore ovviamente, ma che io non ricordo più?

Grazie Mille a Tutti.. :ciauz:

Angioletto
25-06-2004, 09:35
#include <iostream.h>
#include <stdlib.h>
#include <fstream.h>
#include <stdio.h>

const int nmax=20;
typedef char stringa[nmax];

int main()
{
stringa s;
fstream file("documento.txt", ios::in | ios::out | ios::trunc );

if(!file) cout << "File non trovato!!\n";
if (file) {
cout << "Inserire una parola (max "<<nmax<<" caratteri): \n\n";
gets(s);
cout << endl;
file << s; //Scrittura su file di una parola inserita da tastiera.
cout <<"Documento salvato su file.\n\n";
}

file.close();

system("PAUSE");
cout <<"\n---> lettura da file <---\n\n";
ifstream infile("documento.txt");
while ( (infile>>s)!='\0' ) cout << s << endl << endl;

infile.close();

system("PAUSE");
return 0;
}


Forse la parte che ti interessa è quella in rosso..

Loading