000
09.08.2004, 10:40 Uhr
~NotUsed
Gast
|
Hi, ich hab ein problem mit folgender aufgabenstellung
ich soll ein progamm schreiben das eine logdatei ausliest erstmal soll jede zeile mit wo Dmsuser vorkommt in eine ergebnisdatei gespeichertwerden... wäre ja nicht so mein problem, mein c ist zwar eingerostet aber naja so eine log datei hat über 7MB und enthält alle möglichen ascii zeichen.
so mein programm bis jetzt:
C++: |
// Scan a Logfile
#include <stdio.h> #include <iostream.h> #include <conio.h> #include <string.h> #include <sys/timeb.h> #include <time.h>
FILE *input, *output; char string[1000][999999]; // ja sind halt hausnummern, kenn die max zeilen und zeichen nicht ... int maxzeichen[999999];
void main() {
input=fopen("i2z21-7-2004log-master.txt","r"); //diesen monats-log öffnen output=fopen("Result.txt","a");
int zeichen=0; int zeile=0;
while(!feof(input)) //in string speichern { zeichen++; //cout<<zeile<<" "<<zeichen<<endl; string[zeichen][zeile]=fgetc(input); if (string[zeichen][zeile]=='\n') { zeile++; maxzeichen[zeile]=zeichen; zeichen=0; } fputc(string[zeichen][zeile],output); //ist ein test ob wenigstens die eingabe funkt }
int maxzeilen; maxzeilen=zeile;
zeile=0; while(zeile<maxzeilen) { zeile++; /* int length; length=strlen(string[zeile]); //gibt fehler beim compilieren! , wollte es zuerst ohne maxzeichen machen... */ zeichen=0; //cout<<string[1587]<<endl; fehler beim ausführen, bricht sofort ab
while(zeichen<maxzeichen[zeile]) { //cout<<zeile<<" "<<zeichen<<endl; hier bricht er ab: string[1587][48] zeichen++; if(string[zeichen][zeile]=='\n') break; //nur zur sicherheit... hab ich außerdem schon vor der while bedingung gehabt if( string[zeichen][zeile] == 'd' && string[zeichen+1][zeile] == 'm' && string[zeichen+2][zeile] == 's' && string[zeichen+3][zeile] == 'U' && string[zeichen+4][zeile] == 's' && string[zeichen+5][zeile] == 'e' && string[zeichen+6][zeile] == 'r' ) { fputs(string[zeile],output); } } } fclose(input); fclose(output); getchar(); }
|
also ich denke er kann das ganze nicht richtig einlesen haben, denn es kommt nicht das raus was rauskommen sollte...
zum programm, ja ich weis es ist umständlich aber wie gesagt mein c ist eingerostet und ich bin gern bereit mir andere lösungen anzusehen...
naja [url= www.freewebs.com/notused/ LogFileAuswertung.zip]hier[/url] mal result und log datei gezippt
bin über jeden ratschlag froh, thx in advance ! |