Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Maxolia

unregistriert

1

20.02.2013, 20:28

ofstream string

Wie kann ich mit z.b.

ofstream myfile;
myfile.open("file.txt", ofstream::out);

string text = "Dies ist ein Text";

myfile << text;

myfile.close();

Wie kann ich den String in die text Datei schreiben?
Der nimmt nämlich nur Char an ....
Aber mir ist es wichtig einen String nutzen zu können!

Bitte um schnelle Antwort!
Danke :D

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

20.02.2013, 21:29

Du hast vermutlich vergessen, <string> zu inkludieren... ;)

3

21.02.2013, 16:30

Im Übrigen geht dann auch das:

C-/C++-Quelltext

1
2
3
std::ofstream of("file.txt", std::ios::out);
if(of.good()) of << std::string("Dies ist ein Text");
of.close();

Der Sinn ist natürlich fragwürdig :D
Nja, achte halt auch drauf den namespace nicht zu vergessen, kann ziemlich hässlich werden

MfG
Check

An Mod: Ruhig löschen, zu spät bemerkt, dass es durchaus doch ziemlich unnötig ist *hust* sry

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

21.02.2013, 22:02

"achte drauf den zu vergessen", hehe. Man könnte auch sagen, dass entgegen der typischen Beispiele und Bücher, ein "using namespace std;" lieber generell nicht benutzt werden sollte. Das führt oft zu Namenskonflikten, wie sein anderes Topic mit WinForms deutlich bewiesen hat. Ohne "using namespace std" wäre das nämlich gleich aufgefallen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

21.02.2013, 22:44

Man könnte auch sagen, dass entgegen der typischen Beispiele und Bücher, ein "using namespace std;" lieber generell nicht benutzt werden sollte. Das führt oft zu Namenskonflikten, wie sein anderes Topic mit WinForms deutlich bewiesen hat. Ohne "using namespace std" wäre das nämlich gleich aufgefallen.

Das würd ich so nicht unterschreiben, imo trägt es z.B. nicht unbedingt zur Lesbarkeit des Code bei, überall ein std:: hinzuschreiben; das verringert oft eher nur den Signal-Rausch-Abstand. using namespace hat lediglich im Global Namespace in einem Header absolut nichts verloren.

6

21.02.2013, 23:40

Auch muss ich hier den Perfektionisten raus hängen lassen, die zitierte Stelle ist so falsch und gar fatal da sich der Sinn komplett geändert hat!
Ich erwähnte bewusst wirklich nur "aufpassen" weil es in gewisser Weise natürlich praktisch ist, aber eben gefährlich.
Die Dosis macht das Gift

MfG
Check

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

22.02.2013, 06:43

Jo, da habt ihr durchaus Recht. Ich rede hier allerdings einem Anfänger in's Gewissen, der das ruhig mal so machen soll, bis er die Verwendung dieser Klausel richtig begriffen hat, seine Umgebung kennt und weiß, welchen Schaden er damit wo unter den Teppich kehrt. Das hat sein anderes Topic ja wunderbar gezeigt.
Jemandem, der weiß, was er da tut, stelle ich die Verwendung natürlich frei. Allerdings muss ich auch sagen, dass schon im Foren-Projekt deutlich wird, dass man sehr schnell in die Enge gerät, würde man alle 4 existierenden Libs und Namespaces (Box2D, SFML, TinyXML, std) einfach mal so "usen". Da beißt sich nämlich doch ziemlich viel und es ist schnell unklar, woher jetzt plötzlich welches Element oder welcher Vektor stammt und statt rauschen ergibt sich da durchaus ein erhöhtes Verständnis für den Code. Ich denke auch, dass gerade der Noise eine Frage der Gewöhnung ist. Für mich ist std::string ein Typ, für andere ist das Noise.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige