Announcement

Collapse
No announcement yet.

Wie suche ich nach einer Zeichenkette in einem String

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie suche ich nach einer Zeichenkette in einem String

    Hallo!

    Ich habe auf einer Variable einen String aus einer Datei ausgelesen. Wie kann ich nun aus dieser Variablen nach einem bestimmten Wort oder Buchstabe suchen? Auf string2 steht nun z.B. "Das ist ein Test\par" Ich möchte nun nach \par suchen und es entfernen.

    FILE *stream;
    char string1[150];
    char string2[150];

    stream=fopen(datei,"r");
    fseek(stream, 0, SEEK_SET);
    Memo1->Clear();
    do
    {
    fgets(string2,strlen(string1)+150,stream);
    }
    while(!feof(stream));

    fclose(stream);

    Gruß Timo

  • #2
    Schau mal unter

    strstr()

    strcmp()

    strcmpi()

    Zum entfernen muß du vom Anfang bis zur gefundenen Position und

    von der gefunden Position + Länge des Suchstrings ausschneiden.

    Christia
    Christian

    Comment


    • #3
      Wenn du mit dem C++Builder hast und tatsächlich nur String durchsuchen willst (Keine Speicherbereiche die alle Zeichne enthalten können),kannst du die Klasse STRING (AnsiString) benutzen

      Schau in der Hilfe nach ANSISTRING

      und dort nach

      POS
      DELETE

      Christia
      Christian

      Comment


      • #4
        Hallo!
        Hier ist die Funktion die Position des gefundenen Strings zurückgibt:

        int find_string(char* str, char* string)
        {
        char *pdest = strstr( string, str );
        int pos = pdest - string + 1;

        if( pdest != NULL )
        cout << "'" << str << "' ist auf der Position " << pos << " gefunden." << endl;
        else
        {
        pos = -1;
        cout << "'" << str << "' ist nicht gefunden." << endl;
        }

        return pos;

        Comment


        • #5
          Hallo!<br>
          Hier ist die Funktion die Position des gefundenen Strings zurückgibt:<br><br>

          <pre>
          int find_string(char* str, char* string)
          {
          char *pdest = strstr( string, str );
          int pos = pdest - string + 1;

          if( pdest != NULL )
          cout << "'" << str << "' ist auf der Position " << pos << " gefunden." << endl;
          else
          {
          pos = -1;
          cout << "'" << str << "' ist nicht gefunden." << endl;
          }

          return pos;
          }
          </pre&gt

          Comment

          Working...
          X