Earlier quoted context omitted.
fopen is part of ISO C, supported by NDK, and pthread is a special case. https://developer.android.com/ndk/guides/stable_apis > Note that on Android, unlike Linux, there are no separate libpthread or librt libraries. That functionality is included directly in libc, which does not need to be explicitly linked against. Better learn how much POSIX Android actually allows.
Thats a distinction without a difference. According to this google result[1] open() / write() are officially part of posix, while fopen() is part of C. Whatever - that distinction misses the forest for the trees. Its the semantics of those methods that hold computing back. Not their syntax. [1] https://www.mkompf.com/cplus/posixlist.html - I'd have read the spec itself but you have to buy it from IEEE. Blergh.
By the way, since C11, there is no need for POSIX threads any longer.
C11 threads might be implemented on top of POSIX threads, or anything else that the compiler vendor thinks of.