Problem mit Cout (Umbiegen von Cout?)
-
den String bei jedem Wort: "umbruch" teilen,
zentrieren (macht dann die Funktion: MitteZeichnen o.ä.) und dann
einen realen Umbruch (d.h. \n ) anhängen...
-
Und was hat es mit der Ausrichtung und anzahlZeichenrechnen auf sich?
Fakt ist jedenfalls, dass deine Funktion nur "OK" ausgibt und ich nicht weiß, was du mit einer Umlenkung von cout meinst.
-
das mit der Umlenkung hat sich geklärt.
Die FUnktion ist generell "defekt", da er z.B.
bei dem Satz :Hallo, umbruch Hallo2!
folgendes ausgibt:
Hall
uch Hallo2!Ist irgendwo ein Fehler mit dem "String Replaxe".
Ich werde die Funktion nochmals neu schreiben.
Vielen Dank an alle.
Thread kann somit geschlossen werden, da es ja nichts mit
cout mehr auf sich hat.
-
Reyman schrieb:
Vielen Dank an alle.
Thread kann somit geschlossen werden, da es ja nichts mit
cout mehr auf sich hat.thread wird natürlich nicht geschlossen, da er durchaus anlass sein kann, dass jemand was total kluges und hilfreiches schreibt.
und wenn nicht, schließt ihn die zeit von alleine.
-
Wenn du wirklich nur, jedes "umbruch" durch ein "\n" ersetzen willst, könntest du das so machen, wie im Code unten. Du solltest dir vielleicht mal diese Seite anschauen.
#include <iostream> #include <string> #include <conio.h> using namespace std; string TextAusgeben(string strIn,string strbr) { size_t iPos = 0; while ( (iPos = strIn.find(strbr)) != string.npos) { strIn.replace(iPos,strbr.size(),"\n"); }; return strIn; } int main() { std::cout << TextAusgeben("12345[umbruch]23456[umbruch]34567","[umbruch]"); getch(); return 0; }
Ausgabe: 12345 23456 34567
EDIT:
int iAnzahlDerZ(0);
So initialisiert man keine elementaren Datentypen.
int iAnzahlDerZ = 0;
Das, was du gemacht hast, wäre ein Konstrukturaufruf einer Klasse
-
masterofx32 schrieb:
EDIT:
int iAnzahlDerZ(0);
So initialisiert man keine elementaren Datentypen.
int iAnzahlDerZ = 0;
Das, was du gemacht hast, wäre ein Konstrukturaufruf einer Klasse
Na na... erstere Variante ist aber die bessere. Zweiteres kreidet Herr Stroustrup in Exceptional C++ als unschön an. Stell Dir vor, Du hast eine Template-Funktion und hantierst mit einem Datentypen den Du nicht kennst. Dann möchtest Du den Konstruktor auf jeden Fall explizit aufrufen (ohne implizite Typumwandlungen). Was Dir natürlich nicht passiert, weil Du deine Konstruktoren immer schön explicit machst
-
ich sehe die erste Variante auch als die schönere an.
Werde das auch, da ich mich jetzt schon so dran gewöhnt
habe auch nicht ändern.
-
Na gut
-
Ihr schreibt wirklich
for (int i(0); i < 4; ++i)
? Sieht ja doch sehr ungewohnt aus... *find*
-
der Mensch ist ein Gewohnheits-Tier