• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1===============
2StdIO Functions
3===============
4
5.. include:: check.rst
6
7---------------
8Source location
9---------------
10
11-   The main source for string functions is located at:
12    ``libc/src/stdio`` with subdirectories for internal implementations.
13
14---------------------
15Implementation Status
16---------------------
17
18Formatted Input/Output Functions
19================================
20
21These functions take in format strings and arguments of various types and
22convert either to or from those arguments. These functions are the current focus
23(owner: michaelrj).
24
25=============  =========
26Function Name  Available
27=============  =========
28\*printf       Mostly
29\*scanf        |check|
30=============  =========
31
32``FILE`` Access
33===============
34
35These functions are used to interact with the ``FILE`` object type, which is an
36I/O stream, often used to represent a file on the host's hard drive. Currently
37the ``FILE`` object is only available on linux.
38
39=============  =========
40Function Name  Available
41=============  =========
42fopen          |check|
43freopen
44fclose         |check|
45fflush         |check|
46setbuf         |check|
47setvbuf        |check|
48ftell          |check|
49fgetpos
50fseek          |check|
51fsetpos
52rewind
53tmpfile
54clearerr       |check|
55feof           |check|
56ferror         |check|
57flockfile      |check|
58funlockfile    |check|
59=============  =========
60
61Operations on system files
62==========================
63
64These functions operate on files on the host's system, without using the
65``FILE`` object type. They only take the name of the file being operated on.
66
67=============  =========
68Function_Name  Available
69=============  =========
70remove         |check|
71rename         |check|
72tmpnam
73=============  =========
74
75Unformatted ``FILE`` Input/Output Functions
76===========================================
77
78The ``gets`` function was removed in C11 for having no bounds checking and
79therefor being impossible to use safely.
80
81=============  =========
82Function Name  Available
83=============  =========
84(f)getc        |check|
85fgets          |check|
86getchar        |check|
87fread          |check|
88(f)putc        |check|
89(f)puts        |check|
90putchar        |check|
91fwrite         |check|
92ungetc         |check|
93=============  =========
94