Estrazione righe

di il
1 risposte

Estrazione righe

Saaalve a tutti, sono nuovo, spero di trovarmi bene in questo forum!! :D
primo post, e scrivo già perchè ho dei problemi con un codice in C++.
Cosa vorrebbe fare il codice: prende un vettore in ingresso, apre un file in lettura, legge le righe sino alla fine, confronta il vettore passato in ingresso con i primi tre caratteri (numeri interi) di ogni riga, se questi sono uguali allora copia l'intera riga in nuovo file, nominato appunto nuovo. di seguito il codice :

int i,r = 0;
char cdt[3];
char scelta;
ifstream prova;//per aprire un file in input occorre dichiarare che appartiene alla classe ifstream
ofstream nuove; // per aprire un file in output occorre dichiarare che appartiene alla classe oustream
char primitre[3];
char riga[3];
cin >> cdt;
prova.open("esempio.txt",ios::in); //apro il file in lettura
while(!fileasc) //leggo la prima riga
riga ??? fileasc; //memorizzo la prima riga sulla variabile riga
for(r=0;r<3;r++ ) //scorro dentro riga sino ai primi tre
if(cdt==primitre)
{
nuove.open("esempio_copiato.txt",ios::out);
nuove<<riga;
}
else exit(-1);

E' SCRITTO DA CANI!!
mi sto perdendo in un bicchiere d'acqua vero?
Grassssie a tutti per il contributo..
ciauzz

1 Risposte

  • Re: Estrazione righe

    Non ho molto tempo adesso per controllarlo bene ma a colpo d'occhio mi sa che ho trovato due piccoli errori...

    if(cdt==primitre)

    in questo if tu dovresti controllare lettera per lettera quindi

    if(cdt[r]==primitre[r])

    scrivilo così, credo che ti dia errore in quel modo perke provi a confrontare due stringhe con una condizione di ==.

    e poi il vettore riga se lo dichiari di 3 caratteri non potrà mai contenere una riga del file... aumentane la dimensione

    a presto!
Devi accedere o registrarti per scrivere nel forum
1 risposte