Daten Speichern und Laden
-
Guten Abend zusammen,
ich habe vor kurzem angefangen mich in die WinApi einzuarbeiten. Habe eig gute Kenntnisse in C++ Konsolenanwendungen und wollte halt mal in die GUI entwicklung gucken.Ich habe grade vor als Übung eine Personalverwaltung zu basteln, also mitarbeiten eintragen, suchen, entfernen ...
Mit fstream ging das immer recht leicht, aber jetzt kann ich die nicht mehr benutzen. Hab schon den ganzen Tag google durchforstet und sehr viele schreiben, dass fstream unter der WinApi nicht mehr funktioniert und man Windowsfunktionen wie CreateFile(), ReadFile() nutzen soll.
Die Textdatei wird erfolgreich erstellt:
hFile = CreateFile( "save.txt",GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); WriteFile( hFile,"peter",(DWORD)(sizeof("peter")),&wmWritten,NULL);
ich schaffe es aber nicht den namen aus der textdatei zu laden und z.b. auf ein editwindow auszugeben.
habe es wie folgt versucht. weiß nicht wie wictig das ist, aber der folgende code steht in ner WndProc funktion in WM_COMMAND bereich:
case 1: if( FALSE == ReadFile(hFile, strLoad, 99, &dwBytesRead, NULL) ) { MessageBox(hMain,"Terminal failure: Unable to read from file.\n", "ERROR", NULL); CloseHandle(hFile); return 0; } SetWindowText(hLoadBox, strName); return 0;
das ist soweit kompilierbar aber er gbt mir halt den fehler aus der messagebox aus, dass das file nicht gelesen werden kann. weiß auch nicht richtig wie ich das ausgeben kann, falls er das lesen kann. meine lösung die ich im code habe ist mehr geraten als wissen.
der soll halt den inhalt den er liest in den string strName packen und an den handle von der editbox (hLoadBox) schicken.hat jemand ne idee, wie man das lösen kann? vielleicht auch eleganter und anfängerfreundlich? fand fstream ja immer recht chillig.
mfg jan
-
Dann mach doch mit fstream, das ist so basic, da findest schnell selbst was.
Ansonsten GetLastError() und am besten noch FormatMessage() nutzen...
-
...