Oppure

Loading
30/09/10 13:00
genni_96
void LeggiFile(char* file[]);
void ScriviFile(char* file[]);

char* array;

int main()
{
ScriviFile("1.txt");
LeggiFile("1.txt");
ScriviFile("2.txt");
LeggiFile("2.txt");
ScriviFile("3.txt");
LeggiFile("3.txt");
ScriviFile("4.txt");
LeggiFile("4.txt");
//eccetera
}

void LeggiFile(char* file[])
{
array= new char[100];

//lettura file......

delete[] array;
}


void ScriviFile(char* file[])
{
array= new char[100];

//scrittura file......

delete[] array;
}



Il problema è che funziona solo la prima volta, quindi scrive solo il primo file, poi credo che il problema sia riusare new dopo aver usato delete[], ma non ne sono sicuro e non so come risolverlo.
Grazie in anticipo per l'aiuto
Ultima modifica effettuata da genni_96 30/09/10 13:02
aaa
30/09/10 13:15
pierotofy
Posta TUTTO il codice, non solo un pezzetto.
Il mio blog: piero.dev
30/09/10 14:24
genni_96
void ScriviFile(char* file[])
{
array= new char[GetWindowTextLength(e_hwnd)+1];
GetWindowText(e_hwnd,array,GetWindowTextLength(e_hwnd));
    
f.open(file,ios::out);
f<<array;
f.close();

delete[] array;
}

voidLeggiFile(char* file[])
{
struct stat info;
stat(file,&info);
array = new char[info.st_size/sizeof(char)+1];
        
f.open(file,ios::in);
f.read(array,info.st_size/sizeof(char));
f.close();

SetWindowText(e_hwnd,array);
    
delete[] array;
}


e_hwnd è l'handle di una finestra di tipo EDIT
Ultima modifica effettuata da genni_96 30/09/10 14:25
aaa
04/10/10 19:06
mmm..scusa ma se stai programmando C++, perchè usare i puntatori a char per le stringhe e non usare la classe std::string, cosi non devi stare ad allocare sempre la memoria?