Bestimmte Zeichen aus Datei lesen (C)
Hi, ich finde einfach keinen Ansatz.
Mein Problem ist, dass ich eine access.log-Datei habe, welche ich auslesen möchte. Diese besteht aus mehrern Zeilen:
Zeile1:
172.17.21.3 - struenkm [11/Mar/2004:15:32:42 +0100] "GET http://counters.honesty.com/cgi-bin/honesty-counter.cgi? HTTP/1.0" 302 620 TCP_MISSEFAULT_PARENT
Zeile2:
172.17.21.3 - struenkm [11/Mar/2004:15:32:42 +0100] "GET http://banners.ebay.com/de/Ads/versandservice_70x20.gif HTTP/1.0" 200 1254 TCP_REFRESH_HITEFAULT_PARENT
...
Das mit der Datei öffnen ist ja klein Problem. Ebenso wie das Auslesen mit Hilfe der while-Schleife:
while(!feof(rdatei))
{
}
Bisher habe ich in der Schleife mit dem Befehl:
fscanf (rdatei,"%s",&daten[0];
gearbeite und habe dann diese immer gleich in eine anderes Datei geschrieben. Nur habe ich da den ganzen Zeilensatz in der Variable. Nun möchte ich aber gerne in eine Variable nur die ip schreiben, in eine andere den "-", in die nächste das Datum und so weiter. Wie bekomme ich es denn hin, dass er immer nur bis zu einem vorgegeben Zeichen liest, diesen dann wieder als Startpunkt ansieht und bis zum nächsten vorgegeben Endpunkt weiterliest und so die entsprechenden Variablen füllt. Bevor er dann in die nächste Zeile geht werden nur die Variablen in einen Datei geschrieben, welche für mich relevant sind, d.h. die Variablen können, wenn er in die nächste Zeile springt von neuem gefüllt werden. Ebenso sollen Zeilen, welche mit einem bestimmten Zeichensatz beginnen übersprungen werden.
Ich besitze leider nur Grundkenntnisse in C, doch ich denke, dass dies nicht so wild sein wird.
mfg. Andreas
Hi, ich finde einfach keinen Ansatz.
Mein Problem ist, dass ich eine access.log-Datei habe, welche ich auslesen möchte. Diese besteht aus mehrern Zeilen:
Zeile1:
172.17.21.3 - struenkm [11/Mar/2004:15:32:42 +0100] "GET http://counters.honesty.com/cgi-bin/honesty-counter.cgi? HTTP/1.0" 302 620 TCP_MISSEFAULT_PARENT
Zeile2:
172.17.21.3 - struenkm [11/Mar/2004:15:32:42 +0100] "GET http://banners.ebay.com/de/Ads/versandservice_70x20.gif HTTP/1.0" 200 1254 TCP_REFRESH_HITEFAULT_PARENT
...
Das mit der Datei öffnen ist ja klein Problem. Ebenso wie das Auslesen mit Hilfe der while-Schleife:
while(!feof(rdatei))
{
}
Bisher habe ich in der Schleife mit dem Befehl:
fscanf (rdatei,"%s",&daten[0];
gearbeite und habe dann diese immer gleich in eine anderes Datei geschrieben. Nur habe ich da den ganzen Zeilensatz in der Variable. Nun möchte ich aber gerne in eine Variable nur die ip schreiben, in eine andere den "-", in die nächste das Datum und so weiter. Wie bekomme ich es denn hin, dass er immer nur bis zu einem vorgegeben Zeichen liest, diesen dann wieder als Startpunkt ansieht und bis zum nächsten vorgegeben Endpunkt weiterliest und so die entsprechenden Variablen füllt. Bevor er dann in die nächste Zeile geht werden nur die Variablen in einen Datei geschrieben, welche für mich relevant sind, d.h. die Variablen können, wenn er in die nächste Zeile springt von neuem gefüllt werden. Ebenso sollen Zeilen, welche mit einem bestimmten Zeichensatz beginnen übersprungen werden.
Ich besitze leider nur Grundkenntnisse in C, doch ich denke, dass dies nicht so wild sein wird.
mfg. Andreas
Zuletzt bearbeitet: