Hallo,
ich würde gerne das Array einer Klasseninstanz in eine Datei schreiben. Am besten mit fstream.
Hier mal der Beispiel-Code, damit man besser versteht was ich machen will:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#include <iostream>
#include <fstream>
#include <string>
#include "user.hpp"
using namespace std;
// prototypes
void menu();
void createFiles();
#pragma once
int main()
{
// variables
bool running = true; // while running = true, program is running
// query actual ID (the number of already existing users
int actualID = 0;
ifstream input("actualNumber.id", ios::binary);
input.read((char*)&actualID, sizeof(actualID));
input.close();
// create array of instances of user
CUser* user[10]; // <----- DIESES ARRAY SOLL IN DIE DATEI GESCHRIEBN WERDEN
// main course
while (running)
{
// print out a menu
menu();
// query
int selection;
std::cin >> selection;
switch (selection)
{
case 1: // create a new user
char name[30]; // name of new user
char position[30]; // position of new user
// clear BUFFER and get input
cin.clear();
cin.ignore(INT_MAX, '\n');
std::cout << "Name:\t"; cin.get(name, 29); // ask for the user's name
// clear BUFFER and get input
cin.clear();
cin.ignore(INT_MAX, '\n');
std::cout << "Position:\t"; cin.get(position, 29); // ask for the user's position
// create new instance
user[actualID] = new CUser();
user[actualID]->Init(name, position);
// update actual number of IDs
actualID++;
break;
case 4: // stop program and save all changed datas
ofstream output("actualNumber.id", ios::binary);
output.write((char*)&actualID, sizeof(actualID));
output.close();
// stop program
running = false;
}
}
return 0;
}
// print out the menu
void menu()
{
std::cout << "Bitte waehle die gewuenschte Option aus:\n";
std::cout << "\t1: Neuen Benutzer anlegen\n";
std::cout << "\t2: Lager verwalten\n";
std::cout << "\t3: Statistik ansehen\n";
std::cout << "\t4: Programm beenden\n";
}
// create all required folders (only call when first use of program)
void createFiles()
{
// actual ID
int actualID = 0;
ofstream output("actualNumber.id", ios::binary);
output.write((char*)&actualID, sizeof(actualID));
output.close();
}
|
Das Array, das ich in die Datei schreiben will steht in Zeile 25.
Hoffe ihr könnt mir helfen
Mfg
Typ