C++ zahl einer datei in variablenschreiben und les

Wie kann ich int werte die in einer .txt stehen in Variablen kopieren und variablen in einer .txt datei speichern

Hallo,
Grundsätzlich lässt sich das einfach über sogenannte „filestreams“ lösen. Man legt sich dann Variablen an und kann diese (bzw. deren Werte) einfach in eine Datei streamen. Beim lesen geht das umgekehrt. Du kannsst entweder Zeilenweise oder bis zum nächsten Leerzeichen lesen. Das Ganze speichert man in einem String und diesen kann man dann abfragen bzw. die Daten etsprechend verwerten. Beispiele dazu findest man im internet genug.

Hier eine Funktion mit der man int Werte auslesen kann. Es sollten dann allerdings wirklich nur Intwerte ein der Textdatei sein und keine buchstaben etc.

int readValue(){

int value;

ifstream in;
in.open(„value.txt“);
in >> value;
in.close();

return value;
}

Detaillierte Erklärungen, wie man Zeilenweise auslesen bzw. Schreiben kann findes du zum Bsp. auch hier:
http://www.willemer.de/informatik/cpp/fileop.htm

Hoffe das war hilfreich. Falls du etwas spezielleres brauchst, dann bitte einfach nochmal schreiben.

MfG

Wie kann ich int werte die in einer .txt stehen in Variablen
kopieren und variablen in einer .txt datei speichern

Danke für die schnelle Antwort,
dass war genau das richtige allerdings bekomme ich folgendes: -858993460 ausgegeben obwohl ich 33 in die .txt datei geschrieben habe.

Muss ich das nochumwandeln und wenn ja wie.

Mein bisheriger code:

int readValue(){

int value;

ifstream in;
in.open(„value.txt“);
in >> value;
in.close();

return value;
}

int main()
{
int ergebniss;
ergebniss = readValue();

cout

Hallo,
sorry für die späte Antwort, weiß nicht ob du sie noch brauchst.
Du kannst das txt-file scheinbar nicht öffnen --> streaming funktionen bitte immer Abfragen ob der Zugriff(in deinem Fall das Öffnen) auch wirklich funktioniert:

int readValue(){

int value;

ifstream in;
in.open(„value.txt“);
if (!in){
cout > value;
in.close();

return value;
}

Liegt dein value.txt vielleicht im falschen Pfad?

LG

du hast probleme das file zu öffnen. du erhältst keinen Wert sondern eher einen Fehlercode. Man kann auch den ganzen Pfad zum txt file angeben um sicher zu gehen das das richtige genommen wird (hier \ zur Ordnerternnung verwenden - die doppelten Backslashes werden benötigt, da ein einfacher auch als String-Escape Operator fungiert).

#include
#include
using namespace std;

int readValue(){
int value;
ifstream in;
in.open(„C:\temp\value.txt“);
if (!in){
cout > value;
in.close();

return value;
}

int main() {
int ergebniss;
ergebniss = readValue();
cout

Jetz verstehe ich,
ich kann die datei gar nicht öffnen obwohl ich den ganzen
Pfad angegeben habe woran könnte das liegen ich habe Adminrechte.

Wenn ich das so mache:

ofstream text(„datei.txt“);
cout

tut mir leid, bin auch schon einige Zeit weg von dateioperationen und bin zeitlich grad etwas eingeschränkt, das ich nicht wirklich zeit habe mir das momentan anzusehen.

vielleicht kann dir ja ein anderer experte weiterhelfen oder du konsultierst google :wink: da ist es zwar mehr zum lesen, aber das müsste sich doch finden lassen.

Lg

Ok,
vielen dank für deine Hilfe.Ich lese den Link noch einmal gründlich durch.

mfg

spaccee