Hallo, liebe Users, ich hoffe ich bekomme hier eine Hilfe.
Die File besteht aus 10 tausend Zeilen,
Ich lese das Zeilenweise und suche zwei Wörter
1-te "Lukas Maly gekommen"
2-te "Lukas Maly weg"
bei der Suche gibt mir aus:
11.02.2017 Lukas Maly gekommen
12.02.2017 Lukas Maly gekommen
13.02.2017 Lukas Maly gekommen
13.02.2017 Lukas Maly weg
14.02.2017 Lukas Maly gekommen
14.02.2017 Lukas Maly weg
15.02.2017 Lukas Maly gekommen
16.02.2017 Lukas Maly gekommen
16.02.2017 Lukas Maly weg
-----------------------------------------------------------------------------------------------------
ich muss jetzt bei der Zeile die nacher keine "Lukas Maly weg" steht eine Fehlermeldung ausgben zB:
11.02.2017 Lukas Maly gekommen --vergessen aussustempelln
12.02.2017 Lukas Maly gekommen --vergessen aussustempelln
15.02.2017 Lukas Maly gekommen --vergessen aussustempelln
wie bekomme ich zugriff auf die vordere Strings?
Für jede Hilfe werde ich sehr dankbar. ich hoffe auf Ihre Antwort
Das ist mein Kod bis jetzt http://pastebin.com/jVL905FJ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
FILE *pf;
char line1[100];
char * sub1;
char * sub2;
int countgw1 = 0;
int countgw2 = 0;
char filename[50] = {"/home/alt/2017-Projekte//Lukas"};
const char suchstring1[50] = "Lukas Maly gekommen";
const char suchstring2[50] = "Lukas Maly weg";
printf("=============================================================================\n");
pf = fopen(filename, "r"); // öffne zum lesen
if (pf != NULL) {
while (!feof(pf)) { // lese bis Ende des Files
fgets(line1, 120, pf);
if (strstr(line1, (suchstring1)) != NULL) { // wenn erstes Wort existiert
sub1 = line1; // dann speichere in sub1
countgw1++;
printf("%2d-Gekommen: %s\n", countgw1, sub1);
if ((strstr(line1, (suchstring1)) != NULL)&&(strstr(line1, (suchstring1)) != NULL)) {
// printf(" AnD: %s\n", sub1);
}
}
if (strstr(line1, (suchstring2)) != NULL) {
sub2 = line1;
countgw2++;
printf("%2d-Wegegang: %s\n", countgw2, sub2);
}
}
} else {
printf("Could not open the file.\n");
abort();
}
}
Die File besteht aus 10 tausend Zeilen,
Ich lese das Zeilenweise und suche zwei Wörter
1-te "Lukas Maly gekommen"
2-te "Lukas Maly weg"
bei der Suche gibt mir aus:
11.02.2017 Lukas Maly gekommen
12.02.2017 Lukas Maly gekommen
13.02.2017 Lukas Maly gekommen
13.02.2017 Lukas Maly weg
14.02.2017 Lukas Maly gekommen
14.02.2017 Lukas Maly weg
15.02.2017 Lukas Maly gekommen
16.02.2017 Lukas Maly gekommen
16.02.2017 Lukas Maly weg
-----------------------------------------------------------------------------------------------------
ich muss jetzt bei der Zeile die nacher keine "Lukas Maly weg" steht eine Fehlermeldung ausgben zB:
11.02.2017 Lukas Maly gekommen --vergessen aussustempelln
12.02.2017 Lukas Maly gekommen --vergessen aussustempelln
15.02.2017 Lukas Maly gekommen --vergessen aussustempelln
wie bekomme ich zugriff auf die vordere Strings?
Für jede Hilfe werde ich sehr dankbar. ich hoffe auf Ihre Antwort
Das ist mein Kod bis jetzt http://pastebin.com/jVL905FJ
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
FILE *pf;
char line1[100];
char * sub1;
char * sub2;
int countgw1 = 0;
int countgw2 = 0;
char filename[50] = {"/home/alt/2017-Projekte//Lukas"};
const char suchstring1[50] = "Lukas Maly gekommen";
const char suchstring2[50] = "Lukas Maly weg";
printf("=============================================================================\n");
pf = fopen(filename, "r"); // öffne zum lesen
if (pf != NULL) {
while (!feof(pf)) { // lese bis Ende des Files
fgets(line1, 120, pf);
if (strstr(line1, (suchstring1)) != NULL) { // wenn erstes Wort existiert
sub1 = line1; // dann speichere in sub1
countgw1++;
printf("%2d-Gekommen: %s\n", countgw1, sub1);
if ((strstr(line1, (suchstring1)) != NULL)&&(strstr(line1, (suchstring1)) != NULL)) {
// printf(" AnD: %s\n", sub1);
}
}
if (strstr(line1, (suchstring2)) != NULL) {
sub2 = line1;
countgw2++;
printf("%2d-Wegegang: %s\n", countgw2, sub2);
}
}
} else {
printf("Could not open the file.\n");
abort();
}
}
Anhänge
Zuletzt bearbeitet: