Diese Seltsame Sache mit fread
-
Hallöle
Also, die Definition von fread is ja
size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream)
was is jez die Sache mit size und nobj, wie funktioniert das genau mit dem nobj mal size Bytes lesen?
und... theoretisch könnte ich dann machen
FILE *fp; char p[1]; fp = fopen("laufwerk:\pfad\dateiname", "r"); fread(p, 1, 1, fp); printf("%c", p);
und dann würde bei mir doch im stdout das erste Zeichen aus der Datei stehen, oder?
wenn ich so etwas in dem Stil mache, kommt ein Dateifehler 16. Was heißt das?
Viele Fragen, sorry, aber ich bin ratlos...
-
geeniusRL schrieb:
fp = fopen("laufwerk:\pfad\dateiname", "r");
fang mal da an zu überprüfen ((fp = fopen(...)) == NULL), ob das öffnen erfolgreich war! kann mit net vorstellen, dass ein "\" so einfach geht im string. gehört sicher "\" -> hab aber kein windows
hth,
ciao
-
%c steht dafür das du ihm einen char übergibt aber datsächlich übergibst du ihm einen pointer (d.h. verwend %s oder schreibe p[0])
-
ach, das mit dem %c-pointer zeuch hab ich jez nur hier im forum gemacht - whoopsie! aber das mit dem \ könnte stimmen ich probiers mal aus, thx!
-
okay, es hat daran gelegen, dass ich irgendwie gar keinen absolute Pfad angeben durfte oder so etwas ähnliches. seltsame sache!
btw, weiß jemand, wo eine tabelle der datei-fehlercodes zu finden is?