Moin.
problem aber gelöst - es hilft, die variable "datei" am anfang der main() zu deklarieren - zwischendrin in der funktion führt es zu seltsamen reaktionen [...]
Das freie Mischen von Deklarationen und Code ist erst in C99 möglich, in C89 müssen Variablen zu Beginn eines Blockes, d.h. vor anderweitigen Anweisungen, deklariert werden.
Die C99-Unterstützung des MS-Compilers ist dem Hörensagen nach quasi nicht-existent, d.h. das könnte tatsächlich die Fehlerquelle sein. Was mich allerdings wundert, ist, dass der Compiler keine entsprechende Fehlermeldung oder Warnung ausgibt...
Christoph