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!
fopen() liefert NULL zurück
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
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?
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
Gruss
Tom2