Zitat Zitat von Klebwax Beitrag anzeigen
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.

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.

MfG Klebwax
Mit Unix vs. "nacktem" C hast du Recht, stimmt (und C wurde ja zum programmieren von Unix überhaupt erst entwickelt), aber für C gibt es die stdio.h, die genau die file- (FILE*) Funktionen zur Verfügung stellt (egal ob Unix oder x86), die es bei Arduino nicht gibt, obwohl sie auch "File" heißen.
Moppi bemängelte ja, dass es bei x86 asm so viel "logischer" wäre, aber auch hier bezog er sich auf x86, im Gegensatz zu C(++).
mich quält mal wieder C++
...
das war das schöne an x86 Assembler
In C aber gibt es ja gewisse Funktionen, die logisch wären, wie z.B. die printf/scanf-Familie, für stdin/out und files, und hier ist tatsächlich quasi "alles" ein File
Worauf ich hinaus wollte:
obwohl es das grundsätzlich für C gibt und dort auch logisch und im gewissen Rahmen verfügbar ist:
das gibt es eben nicht für Arduino, aber das ist keine Schuld von C++, womit moppi haderte, sondern es liegt am fehlenden File system mit den entsprechenden Libs.
Und hier sind wir uns ja auch einig.