22.9.1.fopen |
|
Item | Value | Header | #include | Declaration | FILE *fopen(const char *fname, const char *mode); | Function | opens a file by *fname | Return | returns a FILE pointer on success or NULL pointer on failure |
|
The legal values for mode. |
Mode | Meaning | "r" | Open text file for reading | "w" | Create a text file for writing | "a" | Append to text file | "rb" | Open binary file for reading | "wb" | Create binary file for writing | "ab" | Append to a binary file | "r+" | Open text file for read/write | "w+" | Create text file for read/write | "a+" | Open text file for read/write | "rb+" or "r+b" | Open binary file for read/write | "wb+" or "w+b" | Create binary file for read/write | "ab+" or "a+b" | Open binary file for read/write |
|
The correct method of opening a file: |
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
if ((fp = fopen("test", "w"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
fclose(fp);
}
|
|
This fragment opens a file called TEST for binary read/write operations: |
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
if((fp=fopen("test", "rb+"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
fclose(fp);
}
|
|