fopen() liefert NULL zurück

Post Reply
Message
Author
greg12

fopen() liefert NULL zurück

#1 Post by greg12 »

Hi,

hat jemand eine Erklärung warum:
char sFile[50];
strcpy(sFile,"/usr/local/file");
fopen(sFile,"r");

funktioniert und

fopen("/usr/local/file","r");

NULL zurückliefert?

Antworten sind willkommen!

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#2 Post by hjb »

Hi!

Versuche doch mal, die beiden Varianten mit strace zu verfolgen. fopen resultiert letztlich in dem System-Call open, der sich im Trace-Log finden läßt. Dort siehst du dann auch den Return-Code. Vielleicht hast du dich auch nur in einer der Varianten bei dem Dateinamen vertippt.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Tom2

#3 Post by Tom2 »

Wenn die Dateinamen stimmen und Du auch Leserechte hast, sollte es eigentlich funktionieren. Es sei denn, Du greifst vor dem fopen-Aufruf mit Zeigern auf einen Bereich, den Du nicht angelegt hast. Dann können unter Umständen schon mal solche Nebeneffekte auftreten. Sonst poste doch mal den gesamten Code.
Gruss
Tom2

Post Reply