Ausgabe in TxT Datei
-
Yup, Moin.
Ich bin grad am programmieren eines programmes unter c++ ( Konsolenanwendung ) und wollte euch mal um Rat fragen, denn ich habe vor ein paar werte in eine txt datei schreiben zu lassen, nur hab ich nicht die geringste ahnung wie das geht oO.
Weiß da jemand ein link oder habt ihr ein beispiel wie das gehen könnte?
-
std::fstream
-
ehrm, schön das du das so schreibst. aber für mich als neuling gibt das keinen zusammenhang...
-
#include <fstream> int main() { int x = 5; ofstream datei("test.txt"); datei << x << endl; datei.close(); return 1; }Datei öffnen ist dann einfach mit ifstream und getline
-
danke :3 ^^
aber vielen dank schonmal für die anleitung wie mans reinkritztelt
Edit: und wie wird nen backspace gemacht? Ehehehee, wie macht man eigentlich nochmal ne quadrat zahl? ( also z.B. die Variable i im quadrat ^^? )hum gut ich sehe grade wies geht. habs endl übersehen ^^, gut endl steht zwar da aber er macht es in der txt nicht.
-
#include <stdio.h> int main() { char Pfad[100]; sprintf(Path,"text.txt"); FILE *Datei; Datei = fopen(Pfad,"w"); char Text[30]; strcpy(Text,"Deine Message"); int x = 5; fprintf(Datei,"%s\n",Text); // Für Strings fprintf(Datei,"%d\n",x); // Für Zahlen in einen String konvertieren fclose(Datei); return 1; }
-
Tobi, wo in deinem script ist jetzt das mit dem zeilenabstand ^^?
-
Ignorier das. Das ist die C-Lösung. Was gibts bei der Frage eigentlich zu grinsen?
Das '\n' Zeichen wird normalerweise zum Linefeed, bzw. CR-LF. Das std::endl in C++ entspricht:std::cout << std::endl; /* == */ std::cout << '\n' << std::flush;Das flush am Ende sagt dem Stream, er solle seinen Puffer jetzt leeren (=die Zeichen schreiben).
-
Wahrscheinlich^^ bein^^ dem^^ \n^^
-
.filmor war schneller^^.
-
ja filmor, ist mir schon klar. aber ich will den zeilenabstand ja nicht als konsolenausgabe, ich möchte ihn in der TxT, das programm soll einen wert in die TxT schreiben, zeilenabstand machen, und dann nächsten wert
ungefär so
Vari Vari Vari
-
Dann schreib doch einfach ein Leerzeichen rein???
std::string space = " ";
edit:
oh Zeilenabstand sry bin stoned.
-
kein problem, sind wir doch alle mal.
also wie gesagt ich kann alles außer diesen zeilenabstand ( und ich weiß net wie man eine zahl im quadrat in c++ rechnet oO, wär nett wenn ihr mirs erklärt )
-
muhöhö habs raus
-
Schurke schrieb:
also wie gesagt ich kann alles außer diesen zeilenabstand
Was für einen Zeilenabstand? Mit endl oder '\n' kannst du einen Zeilenwechsel in deine Datei einfügen. (für schönere Formatierungen ist C++ nicht gerade ideal - da solltest du dich mal in RTF (o.ä.) einlesen)
( und ich weiß net wie man eine zahl im quadrat in c++ rechnet oO, wär nett wenn ihr mirs erklärt )
Indem man sie mit sich selber multipliziert (quadrat = x*x).
(du kannst auch pow() verwenden, aber das ist für diese Aufgabe unnötig)
-
och stoll, ich hab wieder net dran gedacht, war müde. x*x wär natürlich klug gewesen aber ich hab pow verwendet ^^ und mit zeilenabstand meinte ich einfach datei << endl; ( habs dann rausgefunden )
-
.filmor schrieb:
...
Das '\n' Zeichen wird normalerweise zum Linefeed, bzw. CR-LF. Das std::endl in C++ entspricht:std::cout << std::endl; /* == */ std::cout << '\n' << std::flush;Das flush am Ende sagt dem Stream, er solle seinen Puffer jetzt leeren (=die Zeichen schreiben).
Hi,
wenn ich das nicht falsch verstehe, gilt "std::endl = '\n' + std::flush()"
vgl. C++-Standard Kap.27.6.2.7
So gesehen reicht einstd::cout << '\n' << std::endl;(oder ein "Doppel-endl" - aber man muß ja nicht öfter abziehen als man ****t
)Gruß,
Simon2.
-
Simon2 schrieb:
wenn ich das nicht falsch verstehe, gilt "std::endl = '\n' + std::flush()"
jep.