C language fopen () function: Open a file and return the file pointer
header file:
fopen () is a commonly used function that opens a file in a specified manner, with the following prototype:
FILE * fopen (const char * path, const char * mode);
The "parameter" path is the file name that contains the path, and mode opens the file mode.
Mode has several ways:
In the POSIX system, the B character is ignored when included with Linux. The new file created by fopen () will have a s_irusr| s_iwusr| s_irgrp| s_iwgrp| s_iroth| S_iwoth (0666) permission, this file permission will also refer to the Umask value.
The difference between binary and text patterns:
In a Windows system, in text mode, a file wraps on behalf of "\ r \ n". If you open the file in text mode and write the newline character "\ n" with functions such as fputs, the function automatically adds "\ r" before "\ n". That is, "\ r \ n" is actually written to the file.
In text mode in a class Unix/linux system, a file wraps on behalf of "\ n". So there is no difference between the text and binary modes in the Linux system.
For more information, see: C language fopen () the difference between opening a text file and a binary file
Some c-compiler systems may not fully provide all of these functions, some C version without "r+", "w+", "A +", and with "RW", "WR", "AR" and so on, readers pay attention to the provisions of the system.
When the return value file is opened successfully, the file pointer to the stream is returned. Returns null if the file fails to open, and the error code exists in errno.
Note: Generally speaking, the file will be read or written after the action, if the file failure, the next reading and writing can not be smoothly, so in fopen () after the error judgment and processing.
After the file operation is complete, you need to close the file, be aware that it will cause memory leaks and problems with the next time you access the file.
After the file is closed, you need to point the file pointer to null, which prevents the free pointer from appearing, causing unnecessary trouble to the entire project, such as FP = NULL.
Instance to open a file and then close the file.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main ()
{
FILE * FSTREAM;
Char msg[100] = "hello! I have read this file. ";
Fstream=fopen ("Test.txt", "at+");
if (fstream==null)
{
printf ("Open file Test.txt failed!\n");
Exit (1);
}
else
{
printf ("Open file Test.txt succeed!\n");
}
Fclose (fstream);
return 0;
}
C language Fdopen () function: Converting a file descriptor to a file pointer
header file:
To define a function:
FILE * Fdopen (int fildes, const char * mode);
Function Description: Fdopen () Converts the file descriptor of the parameter fildes to the corresponding file pointer and returns.
The argument mode string represents the flow pattern of the file pointer, which must be the same as the original file description Word read and write mode. Refer to fopen () for the mode string format.
Return value: Returns a file pointer to the stream when the conversion succeeds. Failure returns null and the error code exists in errno.
Example
#include <stdio.h>
Main ()
{
FILE * fp = fdopen (0, "w+");
fprintf (FP, "%s\n", "hello!");
Fclose (FP);
Perform