Frage zum Speichern & Laden von Datein
-
oh also hab ich des vertauscht hehe... aba bleibt trotzdem die frage offen... kann man das so machen wie ich des will? und kann ich einfach den pfad so bei open() und close() angeben?
-
ich weiß, ich bin fies, gemein und penetrant, aber wenn du etwas über Dateien wissen möchtest, fang bitte bei der Rechtschreibung an..
Der ifstream ist ein INPUT FILE STREAM (Das ist englisch für Eingabe Datei Strom)
und wenn du etwas in eine Datei schreiben möchtest, ist das eine Ausgabe..Aalso probier mal ofstream schreiben.

Es gibt übrigens tolle cpp Referenzen im Netz..
-
aha schön schön.... und wieso bleibt der text net in der text datei oO.... immer is die datei 0kb gross... was mach ich falsch?
-
SO leute passt schon habs langsam selber raus gefunden wies geht hehe...
#include <iostream> #include <fstream> using namespace std; char quickinfo[25]; int main() { ofstream termin("C:\\Termin.txt",ios::app); termin.open("C:\\Termin.txt"); if(termin.bad()) { cerr << " Datei konnte nicht geoeffnet werden !"; } cout << " Info.\n\n"; cout << " Geben sie hier eine kleine Info fuer den Termin an: " << " (max. 256 Zeichen !\n\n"; cin.getline(quickinfo, sizeof(quickinfo)); termin << quickinfo; termin.close(); if(termin.good()) { cerr << " Info wurde erfolg rich gespeichert ! " << endl; cin.get(); } else(termin.bad()); { cerr << " Fehler: Info konnte nicht gespeichert werden ! " << endl; cin.get(); } return 0; }klappt alles.. nur was mir aufgefallen ist... das sich das schliessen der console nicht verhindern laesst, wenn man mehr als erlaubte zeichen eingibt, dann raucht die console von alleine ab.... oder laesst sich des doch verhindern???
ansonsten thanx und die topic is hier mit fuer geschlossen erklärt
topic.close()
-
Hallo
Benutz statt char doch einfach std:string alles wird gut.
chrische
-
Bezüglich des Schliessens der Konsole gabs doch schon einen Link in deinem alten Thread. Lies bitt da nochmal nach. cin.get() allein tut es nämlich auch nicht
http://www.c-plusplus.net/forum/viewtopic-var-t-is-150600-and-postdays-is-0-and-postorder-is-asc-and-start-is-20.html
-
ich sitze hier shcon seit 2stunden und lesen im forum rum..... ich lese neben bei noch des tutorial, ABER ich komm einfach nicht drauf wie ich meine so eben gespeicherte datei wieder öffne um sie in der konsole auszulesen
also
text: blo lbo blo.... -> gespeichert -> C:\\Knut
jetzt will ich mit nen anderen prog genau diese datei oeffnen damit ich sie auslesen kann um den text in der konsole zu lesen... wuuuuhaaaaa aber wie?????

-
ifstream datei ("dateiname");?!
-
#include <iostream> #include <fstream> using namespace std; main() { ifstream GetInfo("C:\\Termin"); GetInfo.open("C:\\Termin"); cout << " Termin Info:\n\n"; GetInfo >> "C:\\Termin"; GetInfo.close(); cin.get(); }geht nicht..... sorry ich weiss ich stell mich doof an.... kanns mir nun mal einer gerade richten ThanX
-
Versuchs mal folgender maßen:
#include <iostream> #include <fstream> using namespace std; int main() { ifstream GetInfo; char Text[50]; //war vorhin auch nur 50 GetInfo.open("C:\\Termin.txt", ios::in); cout << " Termin Info:\n\n"; GetInfo.read(Text, 49); // in das char-Array speichern cout << Text; // Ausgabe GetInfo.close(); cin.sync(); //Tastaturpuffer löschen cin.get(); // auf ENTER warten return 0; }
-
hi... ich hätte da mal noch ne frage zu:
#include <iostream> #include <fstream> using namespace std; int main() { ifstream GetInfo; char Text[50]; // HIER AUCH STRING MÖGLICH??? GetInfo.open("C:\\Termin.txt", ios::in); cout << " Termin Info:\n\n"; GetInfo.read(Text, 49); // UM STRING HIER ZU NUTZEN cout << Text; GetInfo.close(); cin.sync(); cin.get(); return 0; }wollte wissen ob man statt char taxt[] auch nen string benutzen cann da mein protokoll ja doch dach schoen lang wird... koennte mir jmd. dann mal hier ein Beispiel posten um zu veranschaulichen wies mit nen string geht... dnake!!
-
zum Beispiel:
#include <iostream> #include <fstream> #include <string> using namespace std; int main( ) { ifstream file( "D:\\Termin.txt" ); string text; do { text += static_cast< char >( file.get( ) ); } while( !file.fail( ) ); file.close( ); cout << text; }Greetz, Swordfish
-
hmmm ja ne shon klar gg... gehts net noch nen bissel einfacher verstaendlicher sword??? hab mich mit static_cast noch net so beschaeftigt....trotzdem thanX
-
ein static_cast entspricht einem einfachen C-Type-Cast:
also das ist gleichbedeutend:
int i; long l = 34687; i = static_cast<int>(l);==
int i; long l = 34687; i = (int)l;
-
ein static_cast entspricht einem einfachen C-Type-Cast:
Das ist so nicht ganz korrekt. Mit einem C-Cast kann man z.B. ein const wegcasten. Mit einem static_cast geht das nicht (dafür gibt es const_cast).
-
Da könnt' sich doch mal jemand der Mod's erbarmen und einen FAQ Beitrag zu den verschiedenen Casts schreiben.
Greetz, Swordfish
-
Z2 schrieb:
ein static_cast entspricht einem einfachen C-Type-Cast:
Mit einem C-Cast kann man z.B. ein const wegcasten.
Ahja...und wie ?
-
so:
#include <iostream> using namespace std; #ifdef STUPID_COMPILER void no_cast_away( const char *untouchable ) { // Sollten nur dämliche Compiler - wenn überhaupt - zulassen // meiner: error C2166: L-Wert gibt ein konstantes Objekt an untouchable[ 1 ] = 'a'; } #endif /* STUPID_COMPILER */ void c_cast_away( const char *untouchable ) { // Hups, const ist weg: ( (char*) untouchable )[ 1 ] = 'a'; } void cpp_cast_away( const char *untouchable ) { // mit C++ muss man sich wissentlich in's Knie schießen: const_cast< char* >( untouchable )[ 1 ] = 'a'; } int main( ) { char *foo = new char[ 10 ]; strcpy( foo, "Hello!" ); cout << "original: " << foo << endl; c_cast_away( foo ); cout << "after c_cast_away( ): " << foo << endl; strcpy( foo, "Hello!" ); cpp_cast_away( foo ); cout << "after cpp_cast_away( ): " << foo << endl; delete [ ] foo; }Greetz, Swordfish
-
LOL, wer hat den bitte sowas erfunden ?!, das ist doch total sinnlos

Wenn ich const haben will, dann will ich auch const haben

Aber ok 'leuchtet ein'^^...
PS: Einer meiner Compiler meckert auch bei deiner ersten Funktion (MVC++ 6.0)
-
CodeFinder schrieb:
LOL, wer hat den bitte sowas erfunden ?!, das ist doch total sinnlos

Wenn ich const haben will, dann will ich auch const haben

Nö, macht doch nur, was man ihm sagt
const char *constant; char *not_constant = ( char* ) constant;er wandelt "const char*" nach "char*". Der eigentliche Pferdefuß ist der, daß sowas in C mal eben so aus versehen passiert. In C++ ist es wegen des const_cast< > operators nicht mehr möglich, sich "aus versehen" in's Knie zu schießen. Dazu braucht's dann halt 'ne gehörige Portion Absicht.

CodeFinder schrieb:
[...] Einer meiner Compiler meckert auch bei deiner ersten Funktion (MVC++ 6.0)
Das ist auch gut so! Aber denkst du nicht, du solltest ihn dann mal "in Frieden ruhen" lassen!?
Greetz, Swordfish