PDA

Visualizza la versione completa : [C++] Array di puntatori ed apertura file


faster589
05-07-2007, 20:33
Ragazzi qualcuno sa dirmi cosa è ke nn va nella parte di codice commentato?! cerco solamente di mettere delle stringhe lette da file in un array di puntatori. ecco il codice:
#include <iostream>
#include <cstring>
#include <fstream>

using namespace std;

void lettura(char [],char [],char * []);

int main (){
const int P_MAX=20;
char * parole[P_MAX];
char orig[10]="ORIG.TXT";
char mod[10]="MOD.TXT";
lettura(orig,mod,parole);


system ("PAUSE");
return 0;
}


void lettura(char orig[],char mod[],char * parole[]){
int i=0;
char arrstr[30][30];
fstream fin(orig);
if(!fin){
cout<<"Errore nell'apertura del file!"<<endl;
system ("PAUSE");
exit(0);
}
else
cout<<"Apertura avvenuta con successo."<<endl;


parole[0]="ciao";// questa assegnazione invece funziona...
/*
while(!fin.eof()){
fin>>parole[i];
cout<<parole[i]<<endl;;
i++;
}
*/

cout<<parole[0]<<endl;
}

oregon
05-07-2007, 21:16
Prima di postare del codice, dovresti eliminare le parolacce dal sorgente .. :madai!?:

MItaly
05-07-2007, 21:17
fin>>parole[i];
Questo non può funzionare, perché, come dici tu stesso, parole è un array di puntatori a char. Dove pensi che possano essere memorizzati i caratteri della stringa letta dal file?
In sostanza, devi definire parole come un array bidimensionale di char, esattamente come fai per la variabile arrstr (vaaaaabbé :rollo: ).

LeleFT
05-07-2007, 21:38
Ho editato il sorgente: le parolacce non sono ben viste sul forum... oltretutto è un bell'array inutile, visto che non viene usato...

@MItaly: ho editato pure il tuo per conformità... :)

Ciao. :ciauz:

faster589
05-07-2007, 23:00
mi scuso per la parolaccia :zizi: :zizi: ma ero un po nervoso qnd ha iniziato a nn andare ed ho scritto di tutto...ringrazio tutti quelli ke hanno risposto e kiedo scusa ancora...

Loading