Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Variablen in/aus .txt - datei speichern/lesen...

Empfohlene Antworten

Veröffentlicht

...in C++. Weiss jemand dazu was (befehl) ?!?

AHA!!!

genau DAS hab ich gesucht (denk ich zumindest) !!!

big THX!!!

....habs nämlich ewig mit ofstream probiert....da läuft das ja so ähnlich ab...aber nicht ganz gleich, wie ich erfahren musste ;)

hmmmmm....vielleicht....ich habs damit ne weile probiert, ging nich!

Ich glaub das ist nur für datenströme, d.h. tastatureingaben, etc., ....

...,oder?!?

hmmmmnaja....ich will ja ne variable speichern und in diese auch wieder einlesen...habs mit ofstream nicht hinbekommen, denke weils kein stream ist, sondern ne speicherstelle halt....vielleicht kannst du das ja mal machen ;)

Original geschrieben von capone007

habs mit ofstream nicht hinbekommen, denke weils kein stream ist, sondern ne speicherstelle halt....vielleicht kannst du das ja mal machen ;)

fstream ist ein stream, wie der Name schon sagt ;)

Ein Minimalbeispiel: Ein int schreiben und lesen

#include <fstream>
using namespace std;

int main(int argc, char* argv[])
{
int var = 42;
ofstream schreiben( "test.dat", ios::binary );
schreiben.write( reinterpret_cast<char*>( &var ), sizeof( var ) );
schreiben.close();

int var2 = 0;
ifstream lesen( "test.dat", ios::binary );
lesen.read( reinterpret_cast<char*>( &var2 ), sizeof( var2 ) );
lesen.close();
}[/CODE]

oje oje....du hast doch ETWAS mehr ahnung als ich (1.ausbildungsjahr!)....zu dem code kann ich nur sagen : HÄÄHHHHHH?!?!?

aber trotzdem vielen dank, wer´s nachher mal probieren, wenns funzt dann funzt es, wenn nich dann nich!!!

auf jden fall THXXXX!!!

Original geschrieben von capone007

oje oje....du hast doch ETWAS mehr ahnung als ich (1.ausbildungsjahr!)....zu dem code kann ich nur sagen : HÄÄHHHHHH?!?!?

Ist aber doch bei genauerer Betrachtung gar nicht so schwer:)

ofstream schreiben( "test.dat", ios::binary );

Legt ein ofstream Objekt an und übergibt diesem den Dateinamen und die Art wie

sie geöffnet werden soll, nämlich binär.

schreiben.write( reinterpret_cast<char*>( &var ), sizeof( var ) );

Ruft die write() Funktion des ofstream Objekts auf, die den, in ein char* gecasteten

int, in die test.dat schreibt.

schreiben.close();

schließt die Datei wieder.

und der Rest ist das selbe nur andersrum;)

Gruß

Guybrush

I LOVE THIS FORUM ;)

VIELEN DANK ERSTMAL AN EUCH ALLE ! ! !

...so macht ein forum spass!!!

aber eins noch:

was bedeutet "casten" ?

("... , in ein char* gecasteten int, ...")

Ein cast bedeutet wenn du dem Kompiler sagst er soll eine Variable anders

interpretieren. Also anstatt als int, als char usw.

Das geht natürlich nicht mit allen Datentypen und oft kann es passieren das

dabei Daten verloren gehen. Zum Beispiel wenn du einen Fießkommawert in

eine Ganzzahl castest.

AAAA HA !

Ein krass konkretes THX ;) !!!

werd jetzt mal damit etwas rumprobieren...vielleicht kommen da noch nen paar fragen von mir ;) !

... ich komm gar nich klar damit!

wie kann ich jetzt GANZ KONKRET das array

char Test[100];

in eine .txt datei saven und später wieder in das array laden?

kannst du mir dazu mal jeweils eine Möglichst einfache funktion schreiben ?!?

Sehr schön DAAAAANKEEEE!!!

jetzt blick ich schon besser durch! aber ich kann so keinen text mit leerzeichen lesen/speichern. was mach ich denn nun da?

Original geschrieben von capone007

aber ich kann so keinen text mit leerzeichen lesen/speichern. was mach ich denn nun da?

Dieser Quellcode funktioniert völlig unabhängig vom Inhalt des Arrays. Wenn du Probleme mit Leerzeichen hast, liegt der Grund dafür an anderer Stelle. Da müsstest du schon den Rest deines Codes zeigen.

hmmmm ok thx...dann werd ich mal suchen...

hmm....

soweit ich weiß, liegt ein anderes Problem von Capone vor ...

(weiß das genau, da ich mit ihm auf einer arbeit bin ^^)

der oben genannte Code funktioniert nur mit Visual C++ :(

da wir aber durch die berufsschule Borland C++ 5.01 benutzen, werden diese Funktionen nicht klappen :(

(habe das zu hause scho probiert ... oder ich bin einfach zu blöd dafür ...)

hmm...gibbet da nen genauen Befehl, mit auch Borland klarkommt ?

Danke, dies habe ich noch nicht ausprobiert ....

nur welche Header datei müßte man dafür einfügen ???

"using namespace std;" is doch nur C und nich C++, oder?!? wofür is das eigentlich ?

Original geschrieben von capone007

"using namespace std;" is doch nur C und nich C++, oder?!?

Nein, using ist ausschließlich C++, in C gibt's so etwas nicht.

wofür is das eigentlich ?
Es gibt using-Direktiven und using-Deklarationen.

Das Beispiel hier ist eine using-Direktive. Alle Klassen der C++-Standardbibliothek befinden sich in einem namespace mit dem Namen std. Wenn man sie benutzen will, muss man also schreiben:

std::string s( "huhu" );
std::cout << s << std::endl;[/CODE]

(ohne Koenig-Lookup müsste man sogar den Namespace vor den operator<< setzen)

Durch die using-Direktive werden aber die Inhalte des bezeichneten namespace in den globalen namespace gehoben, d.h. man kann ohne std:: darauf zugreifen.

using-Deklarationen verwenden man in Klassendeklarationen, um den Zugriff auf überladene Methoden von Basisklassen zu ermöglichen.

#include <fstream>

using namespace std;

den befehl kennt er aber nicht unter borland ? habe es aufm Notebook auf arbeit getestet -.-

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.