Speicherverwaltung



  • Hi,
    also ich hab mir das echt zu Gewissen geführt...
    Und in meinem Array Str* sind vom DatenTyp Str ja Daten gespeichert und keine Pointer! Das bedeutet, ich müsse die ja einfach aus ein Feld in ein anderes kopieren können, wenn ich dieses neue Feld allokiert habe, oder nicht?

    Als Beispiel:
    Dein Beispiel mit den char* funktioniert doch auch, wenn du p und s mit malloc allokierst und dann mit ner for-Schleife vollschreibst.
    Zumindest hab ich keinen Grund dafür, dass das nicht geht!
    Das hat zumindest bei mir einwandfrei funktioniert:

    char* s=new char[100];
    strcpy(s,"Hallo");
    char* p = (char*) malloc( strlen(s)+1 );
    for(int i=0;i<(int)strlen(s);i++) p[i] = s[i];
    p[strlen(s)]='\0';
    delete [] s;
    MessageBox(p,p,MB_OK);
    

    Aber ist das nicht rein prinzipiell das gleiche, was ich auch mache???
    Vielen Dank auch für weitere Hilfe gleich im voraus (und bitte nicht die Geduld verlieren!)
    Gruss, Tobias



  • nimm dohc endlcih nen vector!


Anmelden zum Antworten