String nach Zeichen durchsuchen
-
Hallo,
ich möchte nach einem String bzw. Zeichen '>' in einer Datei suchen.
Folgendes habe ich schon, aber strchr sucht ja nur bis zum ersten Auftreten dieses Zeichens. Wie kann ich die Datei nach allen '>' durchsuchen?FILE * datei; int find_ok = 0; char temp_buffer[30] = ""; datei = fopen("Text.dat","r"); while(fgets(temp_buffer,29,datei) != NULL) { if(strchr(temp_buffer,'>') != NULL) find_ok++; } fclose(datei);
danke schonmal
-
Du könntest in einer while-Schleife hinter der letzten gefundenen Position weitersuchen, bis du ein "nicht gefunden" bekommst:
char* pos=buffer; while((pos=strchr(pos,'>'))!=NULL) find_ok++;
(oder du vergleichst von Hand alle Zeichen des Strings mit deinem Suchwert)
-
Sieht so aus, als ob du die Vorkommen nur zählen willst. Also lies die komplette Datei ein und lauf mit ner Schleife drüber, und vergleiche jedes Element mit deinem Such-Zeichen.
-
DarthZiu schrieb:
Sieht so aus, als ob du die Vorkommen nur zählen willst. Also lies die komplette Datei ein und lauf mit ner Schleife drüber, und vergleiche jedes Element mit deinem Such-Zeichen.
so etwa:
... int c; while ((c = fgetc(datei)) != EOF) if (c == '>') find_ok++; ...