Das ist so nicht richtig. Das gilt für Unix, oder vergleichbare Systeme. Und die Sprache ist dabei nebensächlich. Richtig heißt es "Für Unix ist alles ein File"
Und auch das hat mit C oder dem benutzten Compiler nichts zu tun. Es fehlt dem Arduino-System ein Betriebssystem, ein Kernel, der ein Filesystem zur Verfügung stellt. Die libc stellt nur ein C-kompatibles Interface für die Systemcalls in den Kernel zur Verfügung.das ist bei MCUs aber nicht so einfach, weil du bei Arduino aus einer "Stream class"-enherited "File class" liest (oder schreibst), jedoch gibt es per Arduino GCC oder avrgcc ja überhaupt kein file System, weder für SD cards noch für sonst irgendwas!
C bietet genau das an, für was jemand eine Funktion geschrieben hat. C selbst kann nichts, außer vorhandene Funktionen aufrufen. Wenn die Arduino-Erfinder Files hätten haben wollen, hätten sie nur die passenden Funktionen schreiben müssen. Am besten (aber nicht notwendigerweise) kompatibel zur Standardlibrary von C.C bietet für FILE* aber auch nur Dinge wie fread() für byte-Blöcke oder (f)scanf() für formatierte Daten,
MfG Klebwax
Lesezeichen