===============
StdIO Functions
===============
.. include:: check.rst
---------------
Source location
---------------
- The main source for string functions is located at:
``libc/src/stdio`` with 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 Mostly
\*scanf |check|
============= =========
``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 |check|
freopen
fclose |check|
fflush |check|
setbuf |check|
setvbuf |check|
ftell |check|
fgetpos
fseek |check|
fsetpos
rewind
tmpfile
clearerr |check|
feof |check|
ferror |check|
flockfile |check|
funlockfile |check|
============= =========
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 |check|
rename |check|
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 |check|
fgets |check|
getchar |check|
fread |check|
(f)putc |check|
(f)puts |check|
putchar |check|
fwrite |check|
ungetc |check|
============= =========