Visual C++ CString :: Delete

Dieses Thema im Forum "Programmieren" wurde erstellt von Don_Pazo, 5. Oktober 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Don_Pazo

    Don_Pazo Byte

    Registriert seit:
    16. September 2005
    Beiträge:
    58
    Hallo,

    ich habe in einen CString Datensätze gespeichert. Meinen CString enthällt sehr viele unnütige Daten die zwischen "< >" Klamer stehen.
    Dazu will ich meinen CString bereinigen.

    Ich habe versucht mit der Funktion CString:: Delete () leider mache ich irgendwas fallsch, kann mir jemand bitte helfen?
    Was habe ich falsch bei der Funktion gemacht, und wie kann ich es gut machen ?

    CString strTextKopi;

    strTextKopi = m_strText; // initialisiren (public: m_strText)

    laenge = strTextKopi.GetLength(); // Länge ermitteln

    laenge = laenge -1;
    for(laenge; laenge > 0; laenge--)
    {
    if (strTextKopi[laenge] == '>')
    {
    zu_index = laenge;
    }


    if (strTextKopi[laenge] == '<')
    {
    auf_index = laenge;
    index = 1;
    }

    if (index == 1)
    {
    strTextKopi.Delete(auf_index, zu_index);
    index = 0;
    }
    }
     
  2. specialist7

    specialist7 Kbyte

    Registriert seit:
    29. Juli 2002
    Beiträge:
    490
    Mit den MFC weiß ich nicht genau, wie es da abläuft, mit den Standardstrings der STL müsste es aber folgendermaßen gehen. (Wahrscheinlich auch mit geringer Abänderung mit den MFC...)

    Code:
    string sString;
    
    int pos1 = 0, pos2 = 0;
    		
    pos1 = sString.find("<");
    pos2 = sString.rfind(">") + 1 - pos1;
    sString.erase(pos1, pos2 - pos1);
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen