============================= StdIO Functions in LLVM-libc
Summary
This document tracks the status of the implementation of stdio functions in LLVM Libc.
Source location
- The main source for string functions is located at:
libc/src/stdiowith subdirectories for internal implementations.
Implementation Status
Formatted Input/Output Functions
These functions take in format strings and arguments of various types and convert either to or from those arguments. These functions are the current focus (owner: michaelrj).
============= ========= Function_Name Available ============= ========= *printf WIP *scanf ============= =========
FILE Access
These functions are used to interact with the FILE object type, which is an
I/O stream, often used to represent a file on the host's hard drive. Currently
the FILE object is only available on linux.
============= ========= Function_Name Available ============= ========= fopen YES freopen fclose YES fflush YES setbuf setvbuf ftell fgetpos fseek YES fsetpos rewind tmpfile clearerr YES feof YES ferror YES flockfile YES funlockfile YES ============= =========
Operations on system files
These functions operate on files on the host's system, without using the
FILE object type. They only take the name of the file being operated on.
============= ========= Function_Name Available ============= ========= remove rename tmpnam ============= =========
Unformatted FILE Input/Output Functions
The gets function was removed in C11 for having no bounds checking and
therefor being impossible to use safely.
============= ========= Function_Name Available ============= ========= (f)getc fgets getchar fread YES (f)putc (f)puts putchar fwrite YES ungetc ============= =========