Umgang mit Dateien inC/C++

zarqon

Grünschnabel
Habe nun folgendes Programm generiert, kriege aber immer ne Meldung, das FILE nicht in Ordnung ist(ein char...).Was könnte da der Fehler sein?

Code:
#include <iostream.h>
#include <stdlib.h>


struct Datenbank
{
	char Nr[5];
	char Bezeichnung[20];
	char Beschreibung[20];
	char Gruppe[15];
	char Lagerort[15];
	char Gewicht[5];
	char Laenge[4];
};

void main()
{

FILE *f_datei;
	Datenbank Artikel[3];


	f_datei=fopen("Artikeldb.txt","w");

	cout <<"Nr :  ";
	cin >>Artikel.Nr;

	fwrite(&Datenbank, sizeof(Artikel),1, f_datei);
	fclose(f_datei);

	Artikeldb=fopen("Artikeldb.txt","r");
	fread(&Artikel.Nr,sizeof(Artikel),1, f_datei);

	cout <<"Hier die ArtikelNr." <<Artikel.Nr<<"\n";
	fclose(f_datei);
}
 
Zuletzt bearbeitet von einem Moderator:
Sorry, aber hier musst Du nachbessern, damit wir Dir helfen können!

1. Wenn schon ein Beispiel, dann bitte ein lauffähiges! Da hat es noch massiv Fehler drin!
2. Wenn Du schon eine Fehlermeldung erhälst, dann bitte den genauen Wortlaut. Es gibt viele Meldungen, dass "was mit dem File nicht stimmt!"

btw: Bei mir läuft das korrigierte Beispiel!
 
also die struktur FILE ist in stdio.h deklariert, was du scheinbar nicht includierst.... 2. wozu brauchst du das array auf Artikel? wenn du es denn brauchst kannst du es auch nur mit array abrufen:

Artikel[0].Nr und nicht Artikel.Nr
des weiteren versuchst du die struktur direkt in die datei zu schreiben...

fwrite(&Datenbank, sizeof(Artikel),1, f_datei);

das würde dann so richtig aussehn:
Code:
fwrite(&Artikel[0], sizeof(Datenbank), 1, f_datei);
 
Zurück