Technician Geschrieben 6. November 2002 Geschrieben 6. November 2002 Hallo, Gibt es irgendeine eingebaute Funktion, die das für mich erledigt? So nach dem Motto "setze Dateizeiger auf die Position, wo Zeichen oder String sowieso zum ersten Mal vorkommt?" Technician Zitieren
Doham Geschrieben 6. November 2002 Geschrieben 6. November 2002 Hilft Dir vielleicht: strchr() Remarks aus der MSDN: The strchr function finds the first occurrence of c in string, or it returns NULL if c is not found. The null-terminating character is included in the search. /* Search forward. */ pdest = strchr( string, ch ); result = pdest - string + 1; if( pdest != NULL ) printf( "Result:\tfirst %c found at position %d\n\n", ch, result ); else printf( "Result:\t%c not found\n" ); [/PHP] Zitieren
Technician Geschrieben 6. November 2002 Autor Geschrieben 6. November 2002 Originally posted by Doham Hilft Dir vielleicht: strchr() Remarks Hilft mir leider nicht - da ich dazu im Endeffekt wieder alles einlesen muss... (da strchr ja auf einen String angewendet wird - nicht auf ein File) Zitieren
Crush Geschrieben 6. November 2002 Geschrieben 6. November 2002 Du mußt trotzdem mit einem kleinen Buffer arbeiten und die Datei Stück für Stück einlesen und durchsuchen. Ich wüßte nicht, daß es da etwas Fertiges gibt. Zitieren
Technician Geschrieben 6. November 2002 Autor Geschrieben 6. November 2002 Originally posted by Crush Du mußt trotzdem mit einem kleinen Buffer arbeiten und die Datei Stück für Stück einlesen und durchsuchen. Ich wüßte nicht, daß es da etwas Fertiges gibt. ...dann wird mir wohl nix anderes übrig bleiben, als das ganze einzulesen Zitieren
fmarx2000 Geschrieben 6. November 2002 Geschrieben 6. November 2002 Originally posted by Technician Hilft mir leider nicht - da ich dazu im Endeffekt wieder alles einlesen muss... (da strchr ja auf einen String angewendet wird - nicht auf ein File) Eigentlich musst du nicht alles wieder einlesen du definierst einen String welcher die zu suchende Zeichenkette gehört. Dann fängst du vorne an mit dem ersten Zeichen in der Datei und vergleichst das mit dem ersten Zeichen in der zu suchenden Zeichenkette, wenn es übereinstimmt erhöhst du einen Zeiger auf das Zeichen in der zu suchenden Zeichenkette und liest das nächste Zeichen aus der Datei, stimmt das auch machste so weiter , stimmt es nicht dann setzt du den Zeiger wieder auf den Anfang der zu suchenden Zeichenkette und dann geht es weiter. Das ist eine recht primitive Lösung die aber funktionieren sollte. Es gibt noch eine bessere Lösung mit BitSet's aber ich komm momentan nicht darauf weil dann kann man das Problem in N lösen so wird es aber eine Lösung in N^2. Frank Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.