Ja aber wie mache ich das
Ich bin c++ neuling und habe kein internet also nur ein buch
Und ich kann php was mir eindlich schon viel gehplfen hatt.
Ihc hab das hier noch gefunden und shcon ein bichen umgebaut.
Aber wie bekomme ich z.b. den servername also was dahinter steht.?
Also bruach ich die zeile bis zum \n
oder ???
Code:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
string Zensur = "*****";
// liefert Zeichenkette
// s, in der jedes Vorkommen von u durch z ersetzt ist
string zensiere (string s, string u, string z);
int main()
{
ifstream fin("config.cfg"); // Eingabestrom fin definieren und ver-
// binden mit Datei, deren Name in der Stringvariablen Datei steht
cout << "Bitte die verbotene Zeichenkette eingeben.\n";
string Unwort;
getline (cin, Unwort);
string Zeile;
while(getline (fin, Zeile)) // n�hste Zeile lesen
{
if(Zeile.find(Unwort)==string::npos) // Unwort nicht enthalten
{
cout << Zeile << endl; // Zeile ausgeben
}
else
{
// zensierte Zeile ausgeben:
cout << zensiere (Zeile, Unwort, Zensur) << endl;
}
}
fin.close();
}
string zensiere (string s, string u, string z)
{
string::size_type i;
while((i=s.find(u)) != string::npos) // solange Unwort in s vorkommt
{
s.replace (i, u.size(), z); // durch Zensur ersetzen
return s;
}
}
Zitat von
anda_skoa
Ich denke für sowas brauchst du spezielle Stream Iteratoren.
Auch wenn das vielleicht cooler ist, würde ich wirklich beim zeilenweisen Ansatz bleiben und einfach in jeder Zeile mit find() aus string arbeiten.
Ciao,
_
Lesezeichen