na gut:
#include <iostream>
#include <conio.h>
#include <string.h>
#include <fstream>
using namespace std;
void druckzeile(int zeile, char string[])
{
if (zeile < 10 && zeile > 0)
cout << "Zeile " << " " << zeile << string << endl;
if (zeile < 100 && zeile > 10)
cout << "Zeile " << " " << zeile << " >" << string << endl;
if (zeile > 100)
cout << "Zeile "<< zeile << " >" << string << endl;
}
char* delblanks(char array[])
{
int j = -1;
char mod_array[1000];
//zählt die blanks und slash's bis zum ersten vernünftigen zeichen
do
{
j++;
}
while (array[j] == ' ' || array [j] == '/');
int n = 0;
int a = j;
//löscht die zeichen bis stelle j
for (int y=1; y <= j; y++)
{
mod_array[n] = array[a];
a++;
n++;
}
mod_array[n] = '\0';
return mod_array;
}
//++++++++++++++++++++++++ MAIN ++++++++++++++++++++++++++++++++++++++
int main(int argc, char *argv[])
{
bool flag = false;
char p[1000];
//Für die Prozeduren
char suchstring[]="CALL";
char suchstring2[]="DO";
//Für die Batch-Jobs
char suchstring3[]="ENTER";
char suchstring4[]=" E ";
//was wir nicht haben wollen
char filter[]="W-T";
// die zähler
int result = 0;
int result2 = 0;
int result3 = 0;
int result4 = 0;
int line=1;
//jetzt geht's los
for (int i=1;i<argc; i++)
{
ifstream inFILE;
inFILE.open(argv[i]);
cout << "************** " << argv[i] << " **************" << endl << endl;
while(!inFILE.eof())
{
inFILE.getline(p,1000);
if(flag)
{
------<!>-----p = delblanks(*p);
druckzeile(line,p);
}
flag = false;
//Kommentarzeilen werden gekillt
if (p[1] == '"')
p[0] = '\0';
//Zeilen mit Ausgaben werden gekillt
if (strstr(p, filter))
p[0]= '\0';
if (strstr(p, suchstring))
{
flag = true;
------<!>-----p = delblanks(*p);
druckzeile(line, p);
result++;
}
if (strstr(p, suchstring2))
{
flag = true;
------<!>-----p = delblanks(*p);
druckzeile(line, p);
result2++;
}
if (strstr(p, suchstring3))
{
flag = true;
------<!>-----p = delblanks(*p);
druckzeile(line,p);
result3++;
}
if (strstr(p, suchstring4))
{
flag = true;
------<!>-----p = delblanks(*p);
druckzeile(line, p);
result4++;
}
line++;
}
cout << "----------------------------------------------------------" << endl;
cout << suchstring << " wurde "<< result <<" * gefunden" << endl;
cout << suchstring2 << " wurde "<< result2 <<" * gefunden"<< endl;
cout << suchstring3 << " wurde "<< result3 <<" * gefunden"<< endl;
cout << suchstring4 << " wurde "<< result4 <<" * gefunden" << endl;
cout << "----------------------------------------------------------" << endl << endl << endl << endl;
inFILE.close();
}
getch();
return 0;
}
:mad: :mad: :mad: :mad: :mad:
<FONT COLOR="#a62a2a" SIZE="1">[ 24. Oktober 2001 13:28: Beitrag 2 mal editiert, zuletzt von volkaman ]</font>