Abspeicherung in Datei Funktioniert nicht



  • Ein sehr merkwürdiges Problem verfolgt mich. Hier mal der Quellcode:

    void erzeug()
    {
    	FILE *fdatei;
    
    	fdatei=fopen("C:\\temp\\erzeug.dat","r");
    	if(fdatei==NULL)
    	{
    		fdatei=fopen("C:\\temp\\erzeug.dat","w");
    	}
    	fclose(fdatei);
    	fdatei=fopen("C:\\temo\\erzeug.dat","a");
    	for(InterUnter;InterUnter<=InterOber;InterUnter++)
    	{
    		fwrite(&InterUnter,sizeof(long),1,fdatei);
    		//fprintf(fdatei,"%ld",InterUnter);
    	}
    	fclose(fdatei);
    
    }
    

    Die long-Variablen Interunter und InterOber sind global deklariert.

    Füre ich das Programm nun aus, zeigt mein Compiler keinen Fehler, doch wenn ichs dann ausführe das Programm, dann kommt eine Fehlermeldung während des Programmablaufs. Folgende Fehlermeldung bekomme ich, wenn ich es mit fprintf mache:

    Debug Assertion Failed! Expression: str!=NULL

    Wenn ich es mit fwrite versuche kommt volgendes:

    Die Anweisung in "0x0041109c" verweist auf Speicher in "0x0000000c". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.

    Mich wunderts irgendwie, dass es nicht funktioniert. Wisst ihr, wieso es nicht funktioniert?



  • Kann es daran liegen?
    fdatei=fopen("C:\\temo\\erzeug.dat","a");



  • PAD schrieb:

    Kann es daran liegen?
    fdatei=fopen("C:\\temo\\erzeug.dat","a");

    Ja... Man bin ich dumm, das hätte mir doch auffallen muessen *g*
    Danke dir


Anmelden zum Antworten