Probleme mit ZeroMemory

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Hi


    ich habe unter VC++.net 2003 ein Problem bei der Verwendung von ZeroMemory.


    Ich habe ein struct definiert :


    Code
    typedef struct init1
    {
    	CString name;
    	CString name2;
    	int anzahl;
    	double preis;
    } INIT;


    Dieses struct will ich mehrfach innerhalb einer Funktion neu initialisieren (mit Null-Werten füllen). Unter VisualStudio 6 nahm ich ZeroMemory und hatte das gewünschte Ergebnis.


    Unter C .net werden lediglich die "nicht CString"-Variablen Null gesetzt. Die CStrings werden komplett zerstört (NullPointer).


    Weiß jemand woran das liegt, und wie ich Abhilfe schaffen kann. Eine Umprogrammierung kommt leider nicht in Frage, da es sich um ein recht umfangreiches Projekt handelt. (viele große Strukturen in etlichen Funktionen, daher auch kein Leeren von Hand)


    Gruß


    vulcanus

  • Hallo,
    nein memset,zeromemory ist bei CString keine gute Idee..
    3. Lösungsversuche: (Hmmh .Net tja ne weiss ich jetz auch nicht so genau, ich habe im Moment auch kein C Compiler installiert)


    1.) INIT myinit={0};
    2.) INIT myinit; myinit.name.Empty();
    3.) Strukturen sind vom Prinzip her in C++ nichts anderes als Klassen oder Unions, also es ist auch möglich für Strukturen Konstruktoren und Destruktoren zu verwenden, wie bei einer normalen Klasse auch.


    Peter

  • Hallo


    Danke für die Tips, allerdings hatte ich die ersten beiden schon in Erwägung gezogen. Nur dummerweise handelt es sich um mehrere komplexe Strukturen, so dass ich diese Gedanken des enormen Aufwands wegen verworfen habe.
    Wie gesagt, mit ZeroMemory war das schön einfach, da dieser Befehl bisher auf jede noch so komplexe Struktur anwendbar war.


    Ich komme allerdings mit dem 3. Punkt "Strukturen sind vom Prinzip her in C++ nichts anderes als Klassen oder Unions, also es ist auch möglich für Strukturen Konstruktoren und Destruktoren zu verwenden, wie bei einer normalen Klasse auch. " nicht klar. Da erscheinen irgendwie 3 Fragezeichen über meinem Kopf ;-)
    Wie erstelle ich für Strukturen Konstruktoren und Destruktoren? Und wie verwende ich diese?


    vulcanus