Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

"Seek" zu bestimmtem Zeichen

Empfohlene Antworten

Veröffentlicht

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

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]

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)

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 :(

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.