PDA

View Full Version : [C++]Problema con i file


:.Blizzard.:
15-02-2006, 10:45
Ecco il testo dell'esercizio:

Scrivere un programma che legge un file di testo, di nome "parole.txt", una successione di stringhe e che apre in scrittura un secondo file di testo, di nome "parole2.txt", scrivendo per ogni stringa S letta dal primo file, la stringa stessa S e il numero di lettere "c" presenti in S.





#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

int main()
{
fstream f,g;
// cambiare i pathname dei file se volete provare il programma !!!!
f.open("g:\\parole.txt",ios::in);
if(f.bad()) cout << "Il file non esiste" << endl;
else {
g.open("g:\\parole2.txt",ios::out);
string s;
while(!f.eof()) {
int t,c=0;
f >> s;
for(t=0;t<(s.lenght()-1);t++) if(s[t]=='c') c++;
g << s << c;
}
f.close(); g.close();
}
cin >> ws;
}




Questo é il sorgente che ho provato a fare e questo é l'errore che mi dá il compilatore:

http://img46.imageshack.us/img46/4175/immagine9hr.th.jpg (http://img46.imageshack.us/my.php?image=immagine9hr.jpg)


Ho provato a sostituire string s con un semplice vettore char e il programma funziona ... dov'é l'errore? Plz raga é urgente che dopodomani ho l'esame e rischio seriamente di non passarlo :(

kk3z
15-02-2006, 11:44
per usare la std::string devi includere <string>, non <string.h> nè <cstring> chè è l'header per l'array di caratteri in c :)

Qu@ker
15-02-2006, 11:45
#include <cstring>


Qui ci va

#include <string>

E piu' avanti s.length(), non come hai scritto tu.