Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Speicherzugriffsfehler aus Datei lesen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
<Idefix>



Anmeldungsdatum: 22.08.2006
Beiträge: 8

BeitragVerfasst am: 22. Dez 2006 16:13   Titel: Speicherzugriffsfehler aus Datei lesen

Ich versuche ein C-Programm mit gcc Ver. 3.3.5 unter Suse 9.3 zu erstellen und bin gleich am Anfang auf ein Problem gestoßen das ich nicht in den Griff bekomme. Und zwar will ich auf eine Datei zugreifen, bekomme aber ständig einen Speicherzugriffsfehler. Warum?
Code:


#include <stdio.h>
 #include <stdlib.h>

int main(int argc, char *argv[])
{
 
  FILE *fp;
  char text[255];
  char string[] = "Hallo";

  if(fp = fopen("Datei.dat", "w+") == NULL) {
  printf("Probleme beim öffnen\n");
  exit(1);
}

  fputs(string, fp);

  fgets(text,5,fp);
  printf("Das ist der Text: %s", text);
  fclose(fp);
  return 0;
}


Das schreiben hab ich Testweise eingebaut. Die Datei wird auch korrekt erstellt. Nur lesen kann ich sie nicht!
 
Benutzer-Profile anzeigen Private Nachricht senden

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 22. Dez 2006 19:15   Titel:

Erst einmal lässt sich dein Code oben gar nicht compilieren. Die korrigierte Version unten schon, und die erzeugt bei mir auch keinen Fehler.

Code:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{

   FILE *fp;
   char text[255];
   char string[] = "Hallo";

   if((fp = fopen("Datei.dat", "w+")) == NULL)
   printf("Probleme beim öffnen\n");

   fputs(string, fp);

   fgets(text,5,fp);
   printf("Das ist der Text: %s", text);
   fclose(fp);
   return 0;
}


Um einen gerade geschriebenen Text wieder einzulesen, musst du übrigens dazwischen mit fseek() den Stream zurückspulen.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy