variable feldgröße



  • hallo

    Ich habe folgendes Problem: Während der Laufzeit meines Programmes lese ich eine Datei ein. Die Anzahl der Zeilen ist unterschiedlich.

    Wie kann ich als ein Feld erzeugen, welches ich von einer in eine andere Klasse übergeben kann, mit vorher nicht bekannter Zeilenzahl?
    Der Compiler erwartet ja bei der Definition eines Feldes , z.B. double feld[a][2], einen konstanten Ausdruck. Geht das vielleicht irgendwie über CPoint, d.h kann ich ein CPoint Array anlegen?

    tschö



  • Übergib doch nur einen Zeigerauf einen FileStream !



  • Schau dir mal die Containerklassen der STL an:
    std::list
    std::vector
    std::deque etc.

    Devil



  • Einen Vektor habe ich ja schon über

    std::vector< Point3D<double> > punkt;
    

    definiert. Aus einer anderen Klasse heraus kann ich doch auf ihn nicht zugreifen. Ich programmiere mit VC++6 , und möchte die Daten aus der Dokumentenklasse in die Ansichtsklasse übergeben. Ich kann aber keinen Vektor als öffentliche Membervariable definiern.

    cu



  • std::vector<Point3d<double> >* CMyDocument::GetVector(MyView *pView)
    {
    if(isViewValid(pView))//ist es auch der richtige view, bzw hier checken ob er es darf
    return &myvector;
    return NULL;
    }
    


  • kurze zwischenfrage: wie mache ich aus einen double wert einen string?



  • roeschti schrieb:

    kurze zwischenfrage: wie mache ich aus einen double wert einen string?

    Siehe C++-FAQ

    Caipi



  • Das geht doch nur für ganze Zahlen oder?

    Die Daten sollen danach in ein CStringArray. Eine Zahl hat ungefähr das Aussehen: 1234567.1234567 .Sie muss also in einen CString konvertiert werden.

    gibt es da noch andere Lösungen?



  • roeschti schrieb:

    Das geht doch nur für ganze Zahlen oder?

    Die Daten sollen danach in ein CStringArray. Eine Zahl hat ungefähr das Aussehen: 1234567.1234567 .Sie muss also in einen CString konvertiert werden.

    gibt es da noch andere Lösungen?

    Nein, geht auch mit double bzw. float per stringstream...


Anmelden zum Antworten