hi! Ich bin gerade dabei nen kleinens Programm zu schreiben das eine TXT datei auswertet! Ich bin aber und finde meine fehler nur sehr schwer. Das Programm sollte eig. eine datei einlesen in der Browser daten stehen und diese durch eine IF schleife verkürzen und in eine neue datei ausgeben!
Eine zeile aus der 1. Datei wäre z.b
509 "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"
und ich will als ausgabe in der 2. Datei
509 FireFox 1.0.7
Mein code bisher:
Eine zeile aus der 1. Datei wäre z.b
509 "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"
und ich will als ausgabe in der 2. Datei
509 FireFox 1.0.7
Mein code bisher:
Code:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
char fileName[80];
char buffer[255];
char newFileName[80];
cout << "Dateiname: "; // Eingabe Welche Datei gelesen werden soll
cin >> fileName; // Variable für den Dateiname
cout << "Neuer Dateiname: ";
cin >> newFileName;
ifstream fin(fileName); ofstream fout(newFileName);
string zeile;
while(getline(fin,zeile)) //zeilenweise einlesen
{
string::size_type sp_pos = zeile.find(' ');
string nummer = zeile.substr(1,sp_pos); //erster Abschnitt
zeile.erase(2,sp_pos+1);
if(sp_pos == ("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)",0)!=string::npos)
{
zeile = "test";
fout << nummer << ' ' << zeile << endl;
}
else if(sp_pos == ("Mozilla/4.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5)",0)!=string::npos)
{
zeile = "hallo3";
fout << nummer << ' ' << zeile << endl;
}
else fout << zeile << endl;
}
fout.close();
system("PAUSE");
return EXIT_SUCCESS;
}