Datei in String speichern (war: Frage)
-
Hallo,
ich habe in einer Listbox mit SaveToFile eine Textdatei gespeichert.
Nun ich möchte eine Funktion schreiben, indem ich mit fstream die Datei öffne und den Inhalt in einem String speicher. So hab ich das bis jetzt gemacht. Vom Compiler bekomm ich kein Fehler aber in der List bekomm ich nur immer -1...warum?Code: Bemerkung es ist eine Struktur text gebildet mit den Member: String german und english;
bool datei::lesengerman(struct save *text) { fstream readonly; // Deklaration eines Objektes der Klasse Fstream readonly.open("Speicher1.txt", ios::in); //Öffnet datei zum lesen! erfolg=readonly.good(); //Methode zur Überprüfung des erfolgreichen Öffnenes if(erfolg==0) { return(false); } else { erfolg=1; while(erfolg!=0){ text->german=readonly.get(); //EVT liegt der Fehler hier drin? erfolg=readonly.good(); } readonly.close(); } }...
so und dann geben ich das so aus
Memo->lines->Add(text->german);
geht das so nicht?
-
Hallo,
1. Warum nimmst du nicht einfach LoadFromFile ?
2. get() liest nur ein einzelnes Zeichen. Hier aber lieber getline() und std::string
3. Was soll dieses ganze Geteste mit good()?
zum Testen ob die Datei offen ist gibt es is_open()
zum Testen auf das Dateiende gibt es eof()
4. Bitte verwende Code Tags
-
Hallo
nimm VCL-Klassen zum Laden.
TStringList *StringList = new TStringList(); // Objekt zum Laden der Datei StringList->LoadFromFile("Speicher1.txt"); // Datei öffen text->german = StringList->Text; // Dateiinhalt komplett an AnsiString übergeben delete Stringlist; // StringList nach Gebrauch löschen/Edit : tja, 3 Sekunden zu spät
bis bald
akari
-
ich hab das nur gemacht weil ich das mal testen wollte...aber zu einer anderen frage, ähm ich möchte mir ein Zufallsgenerator bauen der mir verschiedene WÖERTER sprich Vocabeln ausgibt. Ich hab gehört es gibt eine Funktion srand();! wie gehe ich am besten dran? Also ich hab unter F1 geguckt und bin nicht würklich schlauer!?
-
Neue Frage bedeutet auch neuer Thread.
Das hatten wir doch schon öfter.
-
Hallo
bevor du einen neuen Thread aufmachst, such im Forum und FAQ nach srand, und zwar im C++ Unter-Forum. Denn das ist schon oft beantwortet worden.
bis bald
akari
-
eine frage wieso funktioniert das suchen hier nicht? ich kann tippen was ich will, aber der findet garnix egal bei den einfachsten wörten!? Mach ich was flasch?
-
Dann nimm halt die Google-Suche oberhalb der Suche.
(Und verwende in Zukunft Sinnvolle Überschriften und die [cpp]-Tags!)
-
ok ich versuche es mal gleich...
TStringList *StringList = new TStringList(); // Objekt zum Laden der Datei
StringList->LoadFromFile("Speicher1.txt"); // Datei öffen
text->german = StringList->Text; // Dateiinhalt komplett an AnsiString übergeben
delete Stringlist; // StringList nach Gebrauch löschender sagt mir immer kovetierung *int nach *TStringList nicht möglich fehler in der deklaration!?

-
Ok es war ein Humaner fehler von mir...man achte nur auf TIPPFEHLER
vorallem groß und kleinschreibung 
-
Ich komm nicht weiter...
also folgendes problem. Für die Funkt. srand() benötige ich eine Zahl.
Ja also meine Idee ich will aus dem Text den ich mit SaveToFile gespeichert habe,
die anzahl der Wörter wissen und in einer Variablen speichern. Wie mach ich das am besten?Oder vielleicht meine Aufgabenstellung.
Ich habe in einem Text wörter gespeichert. So jetzt möchte ich zufallswörter wieder geben. So kann ich z.b. zweier wörter vergleichen und z.b. ein Vokabelprogramm erstellen. Nur weiss ich in moment echt nicht weiter...
wie soll ich das Problem am besten an gehen?

Mfg Juan
-
Aus der ANSI-C FAQ
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39344.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39343.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39335.htmlAus dem C++-Forum über Suche
http://www.c-plusplus.net/forum/viewtopic-var-t-is-117860
http://www.c-plusplus.net/forum/viewtopic-var-t-is-117263Das mit dem neuen Thread habe ich aber nicht umsonst gesagt.
-
Und nochmal der offizielle Hinweis:
-Bitte aussagekräftige Überschriften wählen.
-Ein Thema pro Thread, ein Thread pro Thema.
-Bitte die Code-Tags verwenden.Danke!