Inhalt aller Textfelder in Klasse schreiben und die speichern
-
hallo
ich wollte die suche benutzen, aber die geht leider nicht. viele fehler
mein vorhaben
ich möchte ein adressbuch (wie in outlook) schreiben. keine angst dient nur zur übung.
allerdings stoße ich dabei immer auf probleme mit char und string.
bisher habe ich zum schreiben
class test { public: int alter; char merksatz; int test; }; UpdateData(true); test d; d.alter=m_alter; d.test=m_test; //d.merksatz="nur ein test"; ofstream fout("test.dat",ios::binary); fout.write((char*) &d,sizeof d); fout.close();
und zum lesen
class test
{
public:
int alter;
char merksatz;
int test;};
test d;
ifstream fin("test.dat",ios::binary);
fin.read((char*) &d, sizeof d);
fin.close();
m_alter=d.alter;
m_test=d.test;
UpdateData(false);jetzt speichere ich nur int werte. wie funktioniert das ganze mit string oder char? daran scheitere ich seit gestern
und wie kann man es machen, damit ich mehrere kontaktdaten speichern kann?
-
Text speichern kannst du auch mit write
char merksatz[255] = "Never say never; // [...] fout.write( merksatz, strlen(merksatz));
Gruß
:: NoName ::
-
wenn ich das so schreibe
d.merksatz="hallo";
bekomme ich einen fehler das char nicht in char[6] konvertiert werden kann. ich weiß aber echt nicht wie ich es lösen kann.
und wenn ich nun mehrere datensätze speichern will, muss ich dann die klasse zum array machen oder die variablen der klasse zum array
-
Versuchs mal so...
d.merksatz[255] = "hallo";
und natürlich musst du auch in deiner Klasse char merksatz[255]; schreiben
Gruß
:: NoName ::
-
ich hoffe ich nerve nicht
aber auch wenn ich es so mache klappt es nicht
error C2440: '=' : 'char [6]' kann nicht in 'char' konvertiert werden
class test { public: int alter; char merksatz[255]; int test; }; UpdateData(true); test d; d.alter=m_alter; d.test=m_test; d.merksatz[255] = "hallo";
daran scheitere ich die ganze zeit.
-
strcpy & ein C++-Buch ...
-
Leite einfach eien Klasse von CObject ab und verwende statt char CString. Der Vortteil: Du hast sofort auch CArchive.
Solltest dir aber trotzdem mal ein Buch mit den Grundlagen besorgen
-
Unix-Tom schrieb:
Leite einfach eien Klasse von CObject ab und verwende statt char CString. Der Vortteil: Du hast sofort auch CArchive.
Solltest dir aber trotzdem mal ein Buch mit den Grundlagen besorgen
welches kannst du denn empfehlen?