string in File schreiben
-
Hi to all,
mein Problem:
Ich möchte ein File öffnen: fopen ()
Dann lese ich verschiedene Strings mit cin >> in mein Programm,diese will ich dann in das File schreiben. Wenn es geht irgendwie formatiert!
und dann fclose ();Hoffe ihr könnt mir ein wenig auf die Sprünge helfen !
-
Das ist leider sehr schwer, da Du keine Frage gestellt hast.
Aber ich versuche mal ein wenig zu raten (wie bei Jeopardy):
Mit dieser Funktion ist es möglich Texte und Variablen formatiert in einen Standard-C-Stream zu schreiben. (Was ist fprintf?)
Diese Klassen sind in C++ besser geeignet als C-Streams, um Dateien zu bearbeiten. (Was sind iostreams?)
-
Die Frage:
Wie mache ich das generell????
Also in der Art:
#include <iostream> using namespace std; int main (int argc, char* argv[]) { FILE* Text = fopen ("C:\meineDaten.txt", ??); const char* text1, text2, text3; cin >> text1 >> endl; cin >> text2 >> endl; cin >> text3 >> endl; fwrite (???,???, Text); fclose (Text); return 0; }So in der ARt. Also wenn text 1 = hallo
text2 = du
text3 = tschüss
sind, dann will ich in meinem txt File:hallo du tschüssAlso alles in eine neue Zeile. Wie mache ich das ?
Also wie du siehst eine ganze Menge Fragezeichen!
-
Wie gesagt dafür benutzt man in C++ eigentlich iostreams, weil C-Streams sind ugly (das war meine zweite Jeopardy-Antwort).
Die erste Jeopardy-Antwort bezog sich auf fprintf (wenn Du unbedingt mit FILE* arbeiten musst
). fprintf nimmt einen Format-String (mit Platzhaltern, z.B. %s für const char*). Zeilenwechsel kannst Du selbst an jeder Stelle einfügen (\n)fprintf(Text, "Erstes Wort: %s\nZweites Wort: %s\nDrittes Wort: %s\n", text1, text2, text3);
-
Hi!
FILE* Text = fopen ("C:\\meineDaten.txt", w);fwrite (text, strlen( text ), 1, Text);grüße
-
#include <iostream> int main (int argc, char* argv[]) { std:string text1, text2, text3; std::cin >> text1 >> text2 >> text3; std::ofstream out("C:\\meineDaten.txt"); out << text1 << '\n' << text2 << '\n' << text3 << '\n'; return out ? 0 : 1; }
-
Muss man dann bei der letzten Lösung nicht auch den Stream mal zumachen????
Und das unter return verstehe ich nicht!
-
Puppet55 schrieb:
Muss man dann bei der letzten Lösung nicht auch den Stream mal zumachen????
Macht der ofstream-Destruktor.
Puppet55 schrieb:
Und das unter return verstehe ich nicht!
Das Programm gibt 0 zurück wenn die Datei erfolgreich geschrieben werden konnte, ansonsten 1.
-
Puppet55 schrieb:
Muss man dann bei der letzten Lösung nicht auch den Stream mal zumachen????
Das erledigt der Destruktor, du brauchst also in diesem Fall kein close aufrufen.
Puppet55 schrieb:
Und das unter return verstehe ich nicht!
Anders geschrieben:
if(out) // Überprüfung, ob das Schreiben erfolgreich war return 0; else return 1;siehe auch http://www.pronix.de/pronix-685.html
/edit: ups, zu spät...
-
Was muss ich denn da noch includieren?
-
fstream
-
und <string>