Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 19. Nov 2018 16:15

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 22. Dez 2006 16:13 
Offline

Registriert: 22. Aug 2006 9:31
Beiträge: 8
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&#40;int argc, char *argv&#91;&#93;&#41;
&#123;
 
  FILE *fp;
  char text&#91;255&#93;;
  char string&#91;&#93; = "Hallo";

  if&#40;fp = fopen&#40;"Datei.dat", "w+"&#41; == NULL&#41; &#123;
  printf&#40;"Probleme beim öffnen\n"&#41;;
  exit&#40;1&#41;;
&#125;

  fputs&#40;string, fp&#41;;

  fgets&#40;text,5,fp&#41;;
  printf&#40;"Das ist der Text&#58; %s", text&#41;;
  fclose&#40;fp&#41;;
  return 0;
&#125;
Das schreiben hab ich Testweise eingebaut. Die Datei wird auch korrekt erstellt. Nur lesen kann ich sie nicht!


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22. Dez 2006 19:15 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
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&#40;int argc, char *argv&#91;&#93;&#41;
&#123;

   FILE *fp;
   char text&#91;255&#93;;
   char string&#91;&#93; = "Hallo";

   if&#40;&#40;fp = fopen&#40;"Datei.dat", "w+"&#41;&#41; == NULL&#41;
   printf&#40;"Probleme beim öffnen\n"&#41;;

   fputs&#40;string, fp&#41;;

   fgets&#40;text,5,fp&#41;;
   printf&#40;"Das ist der Text&#58; %s", text&#41;;
   fclose&#40;fp&#41;;
   return 0;
&#125;
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.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de