File Streams
Opening files
fopen
FILE *fopen(filename, "[rwa][+][b]")
r : Read text file
w : Write new text file
a : Append to new or existing text file
+ : Read-write mode
b : Binary file
- Opens an IO stream for reading a file.
- Returns NULL for error.
Examples
FILE *hFile = fopen("input.dat", "r+b");
if (hFile != NULL) {
...
}
Reading files
getc
int getc(FILE *fp)
- Reads a character.
- Returns EOF for end-of-file or error.
fgets
char *fgets(char *line, int maxline, FILE *fp)
- Reads the entire current line, including
the newline
character.
- Returns at most maxline-1 characters plus
an end-of-string
character ('{content}').
- Returns NULL on end-of-file or error.
fscanf
int fscanf(FILE *fp, char *format, ...)
Writing files
putc
int putc(int ch, FILE *fp)
- Writes a character.
- Returns EOF for error.
fputs
int fputs(char *line, FILE *fp)
- Writes a string.
- Does not automatically add a newline
character.
- Returns EOF for error, and zero for
success.
fprintf
int fprintf(FILE *fp, char *format, ...)
Closing files
fclose
int fclose(FILE *fp)
r : Read text file
w : Write new text file
a : Append to new or existing text file
+ : Read-write mode
b : Binary file
if (hFile != NULL) {
...
}
int getc(FILE *fp)
- Reads a character.
- Returns EOF for end-of-file or error.
char *fgets(char *line, int maxline, FILE *fp)
- Reads the entire current line, including the newline character.
- Returns at most maxline-1 characters plus an end-of-string character ('{content}').
- Returns NULL on end-of-file or error.
int fscanf(FILE *fp, char *format, ...)
Writing files
putc
int putc(int ch, FILE *fp)
- Writes a character.
- Returns EOF for error.
fputs
int fputs(char *line, FILE *fp)
- Writes a string.
- Does not automatically add a newline
character.
- Returns EOF for error, and zero for
success.
fprintf
int fprintf(FILE *fp, char *format, ...)
Closing files
fclose
int fclose(FILE *fp)
int fclose(FILE *fp)