C++ Ergebniss berechnen in einer TXT datei speichern und wieder ausgeben

Plattfuss

Grünschnabel
Hallo ich bin ein C++ Anfänger ich habe folgendes vor Ich möcht 2 user Eingaben zusammen
Rechnen dieses Ergebniss ausgeben und in einem TXT file speichern wenn das Tool neu gestartet wird soll die Anzahl aus dem TXt file ausgelesen werden und das neue ergebniss dazu geschrieben wird aber nicht überschreiben=):rolleyes:
 
also schleifen und das bekomm ich schon hin eigentlich check ich es nicht das ergebnisszu speichern also er fängt bei mir immer wieder bei null an und wie ich eine datei erstelle wo dann anschließend die ergebnisse rein geschrieben werden ist mir ein rätsel=)
 
Halli Hallo,

du kennst den unterschied zwischen 'ifstream' und 'ofstream'?
Du musst nämlich kein 'ifstream' benutzen.
'ifstream' = Lesen
'ofstream' = Schreiben

Hier ein kleines Beispiel mit Kommentaren von mir:
C++:
#include <iostream>
#include <fstream>
.......

bool Input(char* ext_cTarget, char ext_cValue[])
{
    /***** Deklarieren *****/
    std::ofstream m_osFile;                                                     // Variable bekanntgeben
    int m_iValue;                                                               // Variable für den Konvertierten Wert

    /***** Initialisieren *****/
    m_iValue = atoi(ext_cValue);                                                // Konvertierung von char* zu int
    m_osFile.open(ext_cTarget);                                                 // Datei öffnen und somit m_osFile initialisieren

    /***** Ausführen *****/
    m_osFile << m_iValue;                                                       // Schreibt in die geöffnete Datei

    m_osFile.close();                                                           // Schließt Datei wieder

    /***** Termination *****/
	return true;														        // Funktion Terminieren
}

Das Auslesen wäre dann wie folgt:
C++:
#include <iostream>
#include <fstream>
.......

bool Output(char* ext_cTarget)
{
    /***** Deklaration *****/
	std::ifstream m_isFile;                                                     // Variable bekanntgeben
	char m_cPuffer;                                                             // Variable für einen Buchstaben(Puffer)

	/***** Initialisierung *****/
	m_isFile.open(ext_cTarget);                                                 // Datei öffnen und somit m_isFile initialisieren

    m_cPuffer = m_isFile.get();                                                 // Den ersten Buchstaben aus der Datei zwischenspeichern
    while( !m_isFile.eof() )                                                    // Solange ausführen, bis das Ende der Dtei erreicht ist
    {
       std::cout << m_cPuffer;                                                  // Gibt den zwischengespeicherten Buchstaben aus
        m_cPuffer = m_isFile.get();                                             // Den nächsten Buchstaben aus der Datei zwischenspeichern
    }

    /***** Termination *****/
	return true;														        // Funktion Terminieren
}
 
Zuletzt bearbeitet von einem Moderator:
ext_cTarget<<---- sehe ich das richtig das das in dem Beipiel der name der datei ist?
muss die datei an einem bestimmten ort liegen oder wird es einfach gefunden wasman möchte?^^

vielen dank für die hilfe
 
Halli Hallo,

ja, die Variable 'ext_cTarget' ist die Angabe, welche Datei geöffnet werden soll.
Der Ort ist frei definierbar.
du kannst:
C++:
Output("config.ini");
machen, als auch:
C++:
Output("..\\config.ini");
oder auch:
C++:
Output("c:\\config.ini");
oder auch ....

Wie du willst.
Wobei du darauf achten musst: Wenn du ein '\' eingibst, MUSST du 2 davon machen, weils sonst als Escape-Sequenz interpretiert wird.
 
Zuletzt bearbeitet von einem Moderator:
Zurück