PDA

View Full Version : 2 problemi, map & copia


k_mishima
25-12-2008, 20:52
Salve, ho un paio di dubbi su un codice e solo voi potete aiutarmi :mc:
c++


//Dichiara mappa e iteratore
map <unsigned char , string > mappa_codifiche;
map <unsigned char , string > :: iterator iter;


//Apre il file in modalita' lettura
ifstream fileread3;
fileread3.open(file_scrittura, ios::binary);

//Apre il file in modalita' scrittura, chiamandolo estratto.txt
ofstream filewrite2;
filewrite2.open("estratto.txt", ios::out);

//Errori apertura, scrittura
if (filewrite2.fail() || fileread3.fail())
{
cout << "Errore, il programma sara' terminato" << endl;
system("pause");
exit(1);
}

char z;
char *y=new char[30];
fileread3.get(z);

//Legge tutti i caratteri finchè non arriva alla fine
while (!fileread3.eof())
{
strcpy(y,z); //Primo dubbio
iter=mappa_codifiche.; //Secondo dubbio
if (iter!=mappa_codifiche.end())
{
filewrite2 << iter->first;
delete []y;
*y=new char[30];
}
}

fileread3.close();
filewrite2.close();
}

Dunque, in pratica i miei due dubbi sono, come copio il carattere z in y? Perchè con la strcpy mi da errore, impossibile convertire il parametro 2 da char a const char

Il secondo, è possibile utilizzare una mappa al contrario, ossia avrei bisogno di cercare tramite il valore, e non la chiave, nella riga dell'iteratore. Il perchè di questo bisogno è l'invertire un processo dove tramite chiave mi trovato dei valori, ora tramite confronto di valori, devo riottenere le chiavi di partenza.

p.s. l'allocazione dinamica di y è inutile, fareste diversamente o è una buona scelta?

Grazie mille

edit: mi son dimenticato il tag nel titolo, ma non posso modificare il titolo *_*

cionci
26-12-2008, 10:13
http://www.hwupgrade.it/forum/showthread.php?t=1649196