From 4176a3b485851765ba1f33df647aff078cca48b6 Mon Sep 17 00:00:00 2001 From: bumbread Date: Mon, 27 Jun 2022 13:58:24 +1100 Subject: [PATCH] make stdio.h be pretty --- inc/stdio.h | 107 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 64 insertions(+), 43 deletions(-) diff --git a/inc/stdio.h b/inc/stdio.h index 9179ed3..117c8c2 100644 --- a/inc/stdio.h +++ b/inc/stdio.h @@ -47,57 +47,78 @@ typedef size_t fpos_t; #define TMP_MAX INT_MAX #endif -extern FILE *stdout, *stderr, *stdin; +extern FILE *stdout; +extern FILE *stderr; +extern FILE *stdin; +// File manipulation int remove(const char *filename); int rename(const char *oldname, const char *newname); FILE *tmpfile(void); char *tmpnam(char *s); -int fclose(FILE *stream); -int fflush(FILE *stream); -FILE *fopen(const char * restrict filename, const char * restrict mode); -FILE *freopen(const char * restrict filename, const char * restrict mode, FILE * restrict stream); -void setbuf(FILE * restrict stream, char * restrict buf); -int setvbuf(FILE * restrict stream, char * restrict buf, int mode, size_t size); -int fprintf(FILE * restrict stream, const char * restrict format, ...); -int fscanf(FILE * restrict stream, const char * restrict format, ...); -int printf(const char * restrict format, ...); -int scanf(const char * restrict format, ...); -int snprintf(char * restrict s, size_t n, const char * restrict format, ...); -int sprintf(char * restrict s, const char * restrict format, ...); -int sscanf(const char * restrict s, const char * restrict format, ...); -int vfprintf(FILE * restrict stream, const char * restrict format, va_list arg); -int vfscanf(FILE * restrict stream, const char * restrict format, va_list arg); -int vprintf(const char * restrict format, va_list arg); -int vscanf(const char * restrict format, va_list arg); -int vsnprintf(char * restrict s, size_t n, const char * restrict format, va_list arg); -int vsprintf(char * restrict s, const char * restrict format, va_list arg); -int vsscanf(const char * restrict s, const char * restrict format, va_list arg); -int fgetc(FILE *stream); -char *fgets(char * restrict s, int n, FILE * restrict stream); -int fputc(int c, FILE *stream); -int fputs(const char * restrict s, FILE * restrict stream); -int getc(FILE *stream); -int getchar(void); -int putc(int c, FILE *stream); -int putchar(int c); -int puts(const char *s); -int ungetc(int c, FILE *stream); -size_t fread(void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream); -size_t fwrite(const void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream); -int fgetpos(FILE * restrict stream, fpos_t * restrict pos); -int fseek(FILE *stream, long int offset, int whence); -int fsetpos(FILE *stream, const fpos_t *pos); -long int ftell(FILE *stream); -void rewind(FILE *stream); + +// Opening and closing files +FILE *fopen (const char *restrict filename, const char *restrict mode); +FILE *freopen(const char *restrict filename, const char *restrict mode, FILE *restrict stream); +int fclose (FILE *stream); + +// I/O buffering control +void setbuf (FILE *restrict stream, char *restrict buf); +int setvbuf (FILE *restrict stream, char *restrict buf, int mode, size_t size); +int fflush (FILE *stream); + +// String formatted print +int vsnprintf(char *restrict s, size_t n, const char *restrict format, va_list arg); +int vsprintf (char *restrict s, const char *restrict format, va_list arg); +int snprintf (char *restrict s, size_t n, const char *restrict format, ...); +int sprintf (char *restrict s, const char *restrict format, ...); + +// File formatted print +int vfprintf (FILE *restrict stream, const char *restrict format, va_list arg); +int fprintf (FILE *restrict stream, const char *restrict format, ...); +int vprintf (const char *restrict format, va_list arg); +int printf (const char *restrict format, ...); + +// String formatted scan +int vsscanf(const char *restrict s, const char *restrict format, va_list arg); +int vscanf (const char *restrict format, va_list arg); +int sscanf (const char *restrict s, const char *restrict format, ...); + +// String formatted scan +int vfscanf(FILE *restrict stream, const char *restrict format, va_list arg); +int fscanf (FILE *restrict stream, const char *restrict format, ...); +int scanf (const char *restrict format, ...); + +// File reading +int fgetc (FILE *stream); +int getc (FILE *stream); +int getchar(void); +int ungetc (int c, FILE *stream); +char *fgets (char *restrict s, int n, FILE *restrict stream); +size_t fread (void *restrict ptr, size_t size, size_t nmemb, FILE *restrict stream); + +int fputc (int c, FILE *stream); +int putc (int c, FILE *stream); +int putchar(int c); +int fputs (const char *restrict s, FILE *restrict stream); +int puts (const char *s); +size_t fwrite (const void *restrict ptr, size_t size, size_t nmemb, FILE *restrict stream); + +int fgetpos (FILE *restrict stream, fpos_t *restrict pos); +int fseek (FILE *stream, long int offset, int whence); +int fsetpos (FILE *stream, const fpos_t *pos); +long int ftell (FILE *stream); +void rewind (FILE *stream); + void clearerr(FILE *stream); -int feof(FILE *stream); -int ferror(FILE *stream); -void perror(const char *s); +int feof (FILE *stream); +int ferror (FILE *stream); +void perror (const char *s); #if __STDC_WANT_LIB_EXT1__ == 1 #define L_tmpnam_s L_tmpnam #define TMP_MAX_S TMP_MAX - errno_t tmpfile_s(FILE * restrict * restrict streamptr); - errno_t tmpnam_s(char *s, rsize_t maxsize); + + errno_t tmpfile_s(FILE *restrict *restrict streamptr); + errno_t tmpnam_s (char *s, rsize_t maxsize); #endif