|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
Passare 2 puntatori a un vettore a una funzione
Sto scrivendo un programma che copia una directory, solo che ho un problema con questa funzione:
Codice:
void copyallfile() { vector<string>::iterator a = listaofile.begin(); vector<string>::iterator b = listadfile.begin(); while(a != listaofile.end()) { char tfile[999999]; copyfile(*a, *b); a++; b++; } } Riassumendo come posso passare i puntatori *a e *b alla mia funzione??? L'errore che dev-c++ mi da è: 103 E:\Documents and Settings\Matteo\Documenti\C++\nonno\copydir.h cannot convert `std::basic_string<char, std::char_traits<char>, std::allocator<char> >' to `char*' for argument `1' to `void copyfile(char*, char*)' che faccio??? ps: ecco la mia funzione copyfile: Codice:
void copyfile(char *origine, char *destinazione) { char sfile; //int pos = 0; ifstream in(origine, ios::in | ios::binary); if(!in) { cout<<"Impossibile aprire il file di origine!!!"; } ofstream out(destinazione, ios::out | ios::binary); if(!out) { cout<<"Impossibile aprire il file di destinazione!!!"; } while(!in.eof()) { //in.seekg(pos); in.get(sfile); //out.seekp(ios::end); out.put(sfile); //pos++; } in.close(); out.close(); } |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
I vettori contengono delle std::string, la funzione copyfile accetta dei puntatori a carattere.
Potresti cambiare la copyfile in void copyfile(const char *origine, const char *destinazione) e chiamarla con copyfile((*a).c_str(), (*b).c_str()); Esistono soluzioni migliori, ma penso che questa implichi il minor numero di modifiche possibile
__________________
In God we trust; all others bring data |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
ciao,
ho fatto esattamente come mi hai detto, eppure mi da ancora questi errori sulla riga: copyfile((*a).c_str(), (*b).c_str()); 103 E:\Documents and Settings\Matteo\Documenti\C++\nonno\copydir.h invalid conversion from `const char*' to `char*' 103 E:\Documents and Settings\Matteo\Documenti\C++\nonno\copydir.h initializing argument 1 of `void copyfile(char*, char*)' 103 E:\Documents and Settings\Matteo\Documenti\C++\nonno\copydir.h invalid conversion from `const char*' to `char*' 103 E:\Documents and Settings\Matteo\Documenti\C++\nonno\copydir.h initializing argument 2 of `void copyfile(char*, char*)' eppure ti giuro che ho scritto come mi hai detto. ciao ciao |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
http://www.hwupgrade.it/forum/showthread.php?t=1649196
Thread chiuso |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:38.