String Methoden (C++)

Dieses Thema im Forum "Programmieren" wurde erstellt von James, 21. Dezember 2003.

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

    James Byte

    Registriert seit:
    15. Oktober 2000
    Beiträge:
    122
    Hi.

    Ich versuche zurzeit mich mit den einzelnen String Methoden von C++ bekannt zu machen. Ich habe einige schon versucht und es hatte eigentlich ganz gut geklapt. Leider kann ich, obwohl ich in der Hilfe eine mehr oder weniger verständliche Erklärung gelesen habe, meine Probleme nicht lösen. Hoffe jemand von euch kann mir da ein Beispiel geben.

    Unswar würde ich gerne einen beliebigen String einlesen. z.B.: "PC-Welt

    Und hierbei würde ich gerne wissen wie ich mit den Methoden remove und find Arbeiten kann. Ich würde gerne den String untersuchen wollen und nach einem beliebigen Zeichen Suchen. Sagen wir mal das grosse "W", würde also gerne vom Pogramm xyz heausbekommen wollen wo sich ein bestimmtes Zeichen im Srring befindet. Ich habe auch versucht mit der remove Methode zu arbeiten, jedoch ohne eindeutigen Erfolg. Wollte das dass Zeiche an Stelle 3 (MyNewString = MyOldString.remove(3);) quasi löschen, jedoch kam es lediglich dazu, dass alles nach der 3 Stelle gelöscht wurde. Ich komme einfach nicht klar mit der Erklärung im Borland Compiler.

    Würde mich sehr darüber freuen wenn jemand von euch mir in dieser Sache helfen könnte. Falls ihr interessante Seiten zu Strings kennt, lasst es mich bitte wissen, den diese zwei Methoden sind nicht die einzigsten und die anderen muss ich ja auch noch versuchen zu lernen.

    Danke im vorraus
    James
     
  2. specialist7

    specialist7 Kbyte

    Registriert seit:
    29. Juli 2002
    Beiträge:
    490
    CString::Find
    int Find( TCHAR ch ) const;

    int Find( LPCTSTR lpszSub ) const;

    int Find( TCHAR ch, int nStart ) const;

    int Find( LPCTSTR pstr, int nStart ) const;

    Return Value

    The zero-based index of the first character in this CString object that matches the requested substring or characters; -1 if the substring or character is not found.

    Parameters

    ch

    A single character to search for.

    lpszSub

    A substring to search for.

    nStart

    The index of the character in the string to begin the search with, or 0 to start from the beginning. The character at nStart is excluded from the search if nStart is not equal to 0.

    pstr

    A pointer to a string to search for.

    Remarks

    Searches this string for the first match of a substring. The function is overloaded to accept both single characters (similar to the run-time function strchr) and strings (similar to strstr).

    Example

    // First example demonstrating
    // CString::Find ( TCHAR ch )
    CString s( "abcdef" );
    ASSERT( s.Find( 'c' ) == 2 );
    ASSERT( s.Find( "de" ) == 3 );

    // Second example demonstrating
    // CString::Find( TCHAR ch, int nStart )
    CString str("The stars are aligned");
    int n = str.Find('e', 5);
    ASSERT(n == 12);

    ****************************************************

    CString::ReverseFind
    int ReverseFind( TCHAR ch ) const;

    Return Value

    The index of the last character in this CString object that matches the requested character; ?1 if the character is not found.

    Parameters

    ch

    The character to search for.

    Remarks

    Searches this CString object for the last match of a substring. The function is similar to the run-time function strrchr.

    Example

    // Example for CString::ReverseFind
    CString s( "abcabc" );
    ASSERT( s.ReverseFind( 'b' ) == 4 );


    :bet: MSDN :D
     
  3. Kokomiko

    Kokomiko Guest

    Nein, er will doch verhindern, daß die Remove-Funktion ab dem Startindex alles weghaut! ;)

    Tja, die CString-Klasse der MFC hat eine solche Funktion nicht ... :( - die reinste Schmalspur-Implementierung! :mad:
     
  4. rapmaster

    rapmaster Halbes Gigabyte

    Registriert seit:
    21. Juli 2002
    Beiträge:
    5.181
    stringname.length=3

    so vielleicht ?
     
  5. Kokomiko

    Kokomiko Guest

    Kenne mich mit Borland C++ nicht aus, aber gibt es evtl. eine Remove-Funktion, die einen zweiten (Längen-) Parameter hat, also Remove (start, länge)?

    Um ein einzelnes Zeichen zu suchen kannst Du auch die Standard-C-Funktion strchr() verwenden.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen