String füllen
-
PuppetMaster2k schrieb:
5er1al schrieb:
also mit AnsiString geht ads doch:
Wir sind hier aber im C++ Forum, nicht im BCB Forum. Std. C++ kennt die Klasse AnsiString nämlich nicht.
Richtig, aber er schrieb String, und es sollte bekannt sein String==AnsiString!
Daher dachte ich...oK?
-
while(anzahlsoldaten!=0) { SOBJ1 << "class Item" << anzahlsoldatenplus << "\n{\n" << endl; string Zwischentext(SOBJ1.str()); schreiben2(Zwischentext); SOBJ1.str(""); SOBJ1 << "side=\"CIV\"" << endl; string Zwischentext(SOBJ1.str()); schreiben2(Zwischentext); SOBJ1.str(""); Zwischentext="\}\;\n"; schreiben2(Zwischentext); anzahlsoldaten=anzahlsoldaten-1; anzahlsoldatenplus++; }
ok in dem Code ist der Fehler... dann mal los
Fehler sind
'}': nicht erkannte Folge von Escape-Zeichen
'sdt::string Zwischentext':Neudefinition
-
\} gibt es nicht. Und Zwischentext erzeugst du zweimal in der Schleife.
Aber das sagte der Compiler ja bereits ;).
mfg
v R
-
nun.. das \{ hab ich rausgenommen, es war fürwar nicht nötig ..aber
das einzige Problem ist hier
SOBJ1 << "side=\"CIV\"" << endl;
die ausgabe in der Textdatei soll so aussenen
side="CIV"
ich benutze das um in eine Textdatei zu schreiben, ich mus sehr variabel ein und auslesen gleichzeitig unter verwendung von Variablen, darumbenutze ich das Objekt was auch sehr gut geht, aber.... ich muss in dem Text auch diese " verwenden.. wir mach ich das?
-
Makconner schrieb:
das einzige Problem ist hier
...
die ausgabe in der Textdatei soll so aussenenDu musst an deinen Fehlerbeschreibungen arbeiten. "Das einzige Problem ist hier" ist keine ausreichende Fehlerbeschreibung. Wenn deine Fähigkeiten, was Fehlerursachendiagnose angeht, so toll wären, dass du uns nur deine Interpretation liefern müsstest, müsstest du gar nicht hier fragen.
Also nochmal:
Bekommst du eine Fehlermeldung? Wenn ja, welche?
Ist die Ausgabe nicht wie gewünscht? Falls ja, wie soll sie aussehen, und wie sieht sie tatsächlich aus?
-
Oh man ... heul ... ich versuchs nochmal
1. Es gibt keine Ausgabe denn das Prog bricht mit dem Fehler ab
2. die Fehlermeldungen: '}': nicht erkannte Folge von Escape-Zeichen
'sdt::string Zwischentext':Neudefinition
3. Das Programm kann die zwei Anführungsstriche nicht verstehen, da sie ja als Test
selber in Anführungsstrichen stehen... ist doch klar... man kann ein n als Zeilenumbruch mit einem \ entwerten.... aber man kann kein " schreiben indem man es mit einem \ entwertet.... es mus einen anderen Weg geben.
-
ok... folgendes.. an den Anführungszeichen liegt es nicht.. ich hab es durchgeprüft
es mus irgendwas mit dem Objekt oder der Syntax sein
while(anzahlsoldaten!=0) { SOBJ1 << "class Item" << anzahlsoldatenplus << "\n{\n" << endl; string Zwischentext(SOBJ1.str()); schreiben2(Zwischentext); SOBJ1.str(""); SOBJ1 << "side=" << "CIV" << endl; string Zwischentext(SOBJ1.str()); schreiben2(Zwischentext); SOBJ1.str(""); Zwischentext="}\;\n"; schreiben2(Zwischentext); anzahlsoldaten=anzahlsoldaten-1; anzahlsoldatenplus++; }
das ist ne schleife und sie läuft nicht, wenn ich den eingerückten Teil rausnehme läuft es.
-
string Zwischentext; while(anzahlsoldaten!=0) { SOBJ1 << "class Item" << anzahlsoldatenplus << "\n{\n" << endl; Zwischentext = SOBJ1.str(); // <--- schreiben2(Zwischentext); SOBJ1.str(""); SOBJ1 << "side=" << "CIV" << endl; Zwischentext = SOBJ1.str(); // <--- schreiben2(Zwischentext); SOBJ1.str(""); Zwischentext="};\n"; // <--- schreiben2(Zwischentext); anzahlsoldaten=anzahlsoldaten-1; anzahlsoldatenplus++; }
NB: "das Prog" ist keine wirklich gute Bezeichnung für den Compiler.
-
OK.. danke Problem gelöst
-
Makconner schrieb:
ok... folgendes.. an den Anführungszeichen liegt es nicht..
Was du nicht sagst. Das war so ziemlich jedem hier klar, nur du wolltest es nicht einsehen.
ich hab es durchgeprüft
es mus irgendwas mit dem Objekt oder der Syntax sein
Ich brech' zusammen!
Ist dir klar, dass die Lösung, die finix dir jetzt vorgebetet hat, dieselbe ist, die dir virtuell Realisticer auf Seite 2 erklärt hat?
Zwei dringende Tipps:
- Versteif dich nicht auf das, was du für die Fehlerursache hältst.
- Setz um, was andere hier um Forum dir sagen.