Dynamisches Array vom Typ CString



  • Hi,

    ich versuch gerade ein dyn. Array vom Typ CString zu erzeugen und zu nutzen, in der doc.h habe ich :

    public:
    	CString	(*straName);
    

    in der doc.cpp im Konstruktor :

    straName = new CString;
    

    und in meiner Funktion OnButtonN():

    int i = 1;
    
          fHandle = FindFirstFile(m_strSearchString,&wfd);
          do
          { 
    	straName[i] = wfd.cFileName;
    	 i++;
          }while (FindNextFile(fHandle,&wfd));
    

    versuche ich das Array zu füllen. Bekomme aber folgenden Fehler:
    ...die Anweisung "read" konnte nicht ausgeführt werden... !

    Wenn ich das mit einem CArray fester Länge versuche klappt das anstandslos aber sobald ich das Array dynamisch mache kommt es zum Crash !

    ich weis dass es ArrayLists gibt, aber die möchte ich nicht verwenden !

    Könnt ihr mir sagen wie das machen muss ?
    Danke für eure Mühe vorab !
    😉
    ShadowEater



  • im Header:

    CString *straName
    

    im cpp:

    straName = new CString[meine_anzahl];
    


  • genau, sonst erzeugst du nur ein einzigsten string, und kein array daraus

    darf man fragen warum du nicht

    std::vector<CString> MyStringArr;
    

    verwendest, oder ist es nur eine uebung?



  • Nimm doch die Klasse CStringArray, dann brauchst du dich um den ganzen Kram nicht erst zu kümmern 😉



  • Hi danke für die schnellen Antworten. Jetzt funktioniert es !
    @Mr. Evil
    Es ist beides, ich schreibe zur Übung ein kleines Programm in welchem ich das CString Array verwende !

    😉
    ShadowEater


Anmelden zum Antworten