000
12.12.2006, 00:43 Uhr
~pete
Gast
|
hi! ich lese in meinem programm die daten aus einem txt file in ein char array ein und möchte dieses dann nach einem begriff durchsuchen. Einlesen und speichern funktionniert, nur mit meiner suchfunktion scheint was nicht zu stimmen ... durchsuch den code schon ständig nach bugs, find aber den feheler nicht .. vielleicht hätt ja jemand von euch die güte mal einen blick drauf zu werfen:
globale variablen: char textfeld[17000][1000]; (ja ich weiss ziemlich gross) <== hier wird das txt file reingespeichert ...
int wieviel; <== soll zaehlen wie oft der suchbegriff gefunden wurde ...
und hier die funktion:
C++: |
void compare(char x[100], int i, int j, int k){ // cout << i << " " << j << " " << k << endl; if(x[i]==textfeld[j][k]){ if(x[i+1]=='\0'){ wieviel++; cout << "found in line " << j << endl; cin.get(); if(j+1<17000){ compare(x,0,j+1,0); } else{ cout << endl << endl << "Search complete!" << endl << endl << endl; } } else { if(textfeld[j][k+1]!='\0'){ compare(x,i+1,j,k+1); } else{ cout << "not found in line " << j << endl; if(j+1<17000){ compare(x,0,j+1,0); } else{ cout << endl << endl << "Search complete!" << endl << endl << endl; } } } } else{ if(textfeld[j][k+1]!='\0'){ compare(x,0,j,k+1); } else{ if(j+1<17000){ cout << "not found in line " << j << endl; compare(x,0,j+1,0); } else{ cout << endl << endl << "Search complete!" << endl << endl << endl; } } } }
|
char x wird das such array aus der main() zugewiesen, int i ist der index von x, und j und k die indizes für das textfeld[j][k] ... zu beginn alle drei auf 0 .. (such array, sowie das textfeld wurden zu beginn mit '\0' initialisiert (vor der einelese der txt file selbsverständlich ... wär cool wenn mir wer weiterhelfen könnte ... die suche bricht nämlich ca bei line 1950 ab (obwohl es in dieser zeile kein sonderzeichen oder ähnliche problemmacher gibt ...) lg, pete |