|
|||||||
|
|
|
![]() |
|
|
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: 21:05.

















