Grössenbestimmung des Arrays vor Einlesung aus ner Datei



  • Hallo,

    wie kann ich die Grösse eines dynamisch erzeugten Arrays festlegen bevor ich aus einer Datei Daten eingelesen habe. Dabei soll das Array so gross sein wie die Anzahl der Strings in der Datei und keine Redundanz aufweisen.

    TCHAR str[1000]; // die Grösse soll genau die der Stringgrösse aus
    // der Datei entsprechen

    CFile datei( m_strPath, CFile::modeRead );
    datei.Read(str, sizeof(str)); // str soll mit der Grösse der Stringlänge aus
    // der Datei entsprchen
    datei.Close();



  • Programmieren ist nicht: 'Raten, wie gross was sein könnte'



  • ich muss aber genau bestimmen wie gross das array sein soll. Deshalb will ich auch den Speicher dynamisch erzeugen.



  • Moin,

    char str[10000];
    CString s;
    int iRcvd;
    // Text aus Datei lesen
    try
    {
            CFile datei(m_strPath, CFile::modeRead );
        iRcvd =datei.Read(str, sizeof(str));
        datei.Close();
    }
    catch (CFileException *e)
    {
        if (e->m_cause == CFileException::fileNotFound)
        MessageBox("Datei nicht gefunden");
        e->Delete();
            return;
    }
        // Text auf Konsole ausgeben
        str[iRcvd] = NULL;
            s = str;
    

    fehlerbehebung ist auch gleich mit drin, wenn du die daten jetzt umbedingt als CString brauchst, kannst du ja wieder ein array erzeugen, und über GetAt die werte des String zurück übertragen. Mit der Methode, hast du zumindest keine Fehlerzeichen in deinem String / Array


Anmelden zum Antworten