C Library - <stdio.h>

Advertisements


Introduction

The stdio .h header defines three variable types, several macros and various functions for performing input and output.

Library Variables

Following are the variable types defined in the header stdio.h:

S.N.Variable & Description
1size_t
This is the unsigned integral type and is the result of the sizeof keyword.
2FILE
This is an object type suitable for storing information for a file stream.
3fpos_t
This is an object type suitable for storing any position in a file.

Library Macros

Following are the macros defined in the header stdio.h:

S.N.Macro & Description
1NULL
This macro is the value of a null pointer constant.
2_IOFBF, _IOLBF and _IONBF
These are the macros which expand to integral constant expressions with distinct values and suitable for the use as third argument to the setvbuf function.
3BUFSIZ
This macro is an integer which represents the size of the buffer used by the setbuf function.
4EOFM
This macro is a negative integer which indicates an end-of-file has been reached.
5FOPEN_MAX
This macro is an integer which represents the maximum number of files that the system can guarantee that can be opened simultaneously.
6FILENAME_MAX
This macro is an integer which represents the longest length of a char array suitable for holding the longest possible filename. If the implementation imposes no limit, then this value should be the recommended maximum value.
7L_tmpnam
This macro is an integer which represents the longest length of a char array suitable for holding the longest possible temporary filename created by the tmpnam function.
8SEEK_CUR, SEEK_END, and SEEK_SET
These macros are used in the fseek function to locate different positions in a file.
9TMP_MAX
This macro is the maximum number of unique filenames that the function tmpnam can generate.
10stderr, stdin, and stdout
These macros are pointers to FILE types which correspond to the standard error, standard input, and standard output streams.

Library Functions

Following are the functions defined in the header stdio.h:

Follow the same sequence of functions for better understanding and to make use of Try it option because file created in the first function will be used in subsequent functions.
S.N.Function & Description
1int fclose(FILE *stream)
Closes the stream. All buffers are flushed.
2void clearerr(FILE *stream)
Clears the end-of-file and error indicators for the given stream.
3int feof(FILE *stream)
Tests the end-of-file indicator for the given stream.
4int ferror(FILE *stream)
Tests the error indicator for the given stream.
5int fflush(FILE *stream)
Flushes the output buffer of a stream.
6int fgetpos(FILE *stream, fpos_t *pos)
Gets the current file position of the stream and writes it to pos.
7FILE *fopen(const char *filename, const char *mode)
Opens the filename pointed to by filename using the given mode.
8size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
Reads data from the given stream into the array pointed to by ptr.
9FILE *freopen(const char *filename, const char *mode, FILE *stream)
Associates a new filename with the given open stream and same time closing the old file in stream.
10int fseek(FILE *stream, long int offset, int whence)
Sets the file position of the stream to the given offset. The argument offset signifies the number of bytes to seek from the given whence position.
11int fsetpos(FILE *stream, const fpos_t *pos)
Sets the file position of the given stream to the given position. The argument pos is a position given by the function fgetpos.
12long int ftell(FILE *stream)
Returns the current file position of the given stream.
13size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
Writes data from the array pointed to by ptr to the given stream.
14int remove(const char *filename)
Deletes the given filename so that it is no longer accessible.
15int rename(const char *old_filename, const char *new_filename)
Causes the filename referred to by old_filename to be changed to new_filename.
16void rewind(FILE *stream)
Sets the file position to the beginning of the file of the given stream.
17void setbuf(FILE *stream, char *buffer)
Defines how a stream should be buffered.
18int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
Another function to define how a stream should be buffered.
19FILE *tmpfile(void)
Creates a temporary file in binary update mode (wb+).
20char *tmpnam(char *str)
Generates and returns a valid temporary filename which does not exist.
21int fprintf(FILE *stream, const char *format, ...)
Sends formatted output to a stream.
22int printf(const char *format, ...)
Sends formatted output to stdout.
23int sprintf(char *str, const char *format, ...)
Sends formatted output to a string.
24int vfprintf(FILE *stream, const char *format, va_list arg)
Sends formatted output to a stream using an argument list.
25int vprintf(const char *format, va_list arg)
Sends formatted output to stdout using an argument list.
26int vsprintf(char *str, const char *format, va_list arg)
Sends formatted output to a string using an argument list.
27int fscanf(FILE *stream, const char *format, ...)
Reads formatted input from a stream.
28int scanf(const char *format, ...)
Reads formatted input from stdin.
29int sscanf(const char *str, const char *format, ...)
Reads formatted input from a string.
30int fgetc(FILE *stream)
Gets the next character (an unsigned char) from the specified stream and advances the position indicator for the stream.
31char *fgets(char *str, int n, FILE *stream)
Reads a line from the specified stream and stores it into the string pointed to by str. It stops when either (n-1) characters are read, the newline character is read, or the end-of-file is reached, whichever comes first.
32int fputc(int char, FILE *stream)
Writes a character (an unsigned char) specified by the argument char to the specified stream and advances the position indicator for the stream.
33int fputs(const char *str, FILE *stream)
Writes a string to the specified stream up to but not including the null character.
34int getc(FILE *stream)
Gets the next character (an unsigned char) from the specified stream and advances the position indicator for the stream.
35int getchar(void)
Gets a character (an unsigned char) from stdin.
36char *gets(char *str)
Reads a line from stdin and stores it into the string pointed to by str. It stops when either the newline character is read or when the end-of-file is reached, whichever comes first.
37int putc(int char, FILE *stream)
Writes a character (an unsigned char) specified by the argument char to the specified stream and advances the position indicator for the stream.
38int putchar(int char)
Writes a character (an unsigned char) specified by the argument char to stdout.
39int puts(const char *str)
Writes a string to stdout up to but not including the null character. A newline character is appended to the output.
40int ungetc(int char, FILE *stream)
Pushes the character char (an unsigned char) onto the specified stream so that the this is the next character read.
41void perror(const char *str)
Prints a descriptive error message to stderr. First the string str is printed followed by a colon then a space.


Advertisements
Advertisements