File Created by Open Can Open Again
C File management
A File tin can be used to store a big volume of persistent data. Like many other languages 'C' provides following file management functions,
- Creation of a file
- Opening a file
- Reading a file
- Writing to a file
- Closing a file
Following are the most important file management functions available in 'C,'
function | purpose | |
---|---|---|
fopen () | Creating a file or opening an existing file | |
fclose () | Closing a file | |
fprintf () | Writing a block of data to a file | |
fscanf () | Reading a block data from a file | |
getc () | Reads a single character from a file | |
putc () | Writes a single character to a file | |
getw () | Reads an integer from a file | |
putw () | Writing an integer to a file | |
fseek () | Sets the position of a file arrow to a specified location | |
ftell () | Returns the current position of a file pointer | |
rewind () | Sets the file arrow at the get-go of a file |
In this tutorial, y'all volition learn-
- How to Create a File
- How to Close a file:
- Writing to a File
- fputc() Function:
- fputs () Function:
- fprintf()Part:
- Reading data from a File
- Interactive File Read and Write with getc and putc
How to Create a File
Whenever you lot want to work with a file, the outset pace is to create a file. A file is zip merely space in a memory where information is stored.
To create a file in a 'C' program following syntax is used,
FILE *fp; fp = fopen ("file_name", "manner");
In the above syntax, the file is a data structure which is divers in the standard library.
fopen is a standard function which is used to open a file.
- If the file is not present on the system, then information technology is created and so opened.
- If a file is already nowadays on the arrangement, then it is directly opened using this function.
fp is a file pointer which points to the blazon file.
Whenever you open or create a file, y'all accept to specify what you are going to practise with the file. A file in 'C' programming can be created or opened for reading/writing purposes. A mode is used to specify whether you want to open up a file for whatever of the below-given purposes. Following are the different types of modes in 'C' programming which can be used while working with a file.
File Style | Clarification |
---|---|
r | Open up a file for reading. If a file is in reading mode, and then no information is deleted if a file is already nowadays on a system. |
westward | Open a file for writing. If a file is in writing mode, then a new file is created if a file doesn't be at all. If a file is already present on a system, then all the data inside the file is truncated, and it is opened for writing purposes. |
a | Open a file in append way. If a file is in suspend way, then the file is opened. The content within the file doesn't change. |
r+ | open for reading and writing from beginning |
w+ | open for reading and writing, overwriting a file |
a+ | open for reading and writing, appending to file |
In the given syntax, the filename and the manner are specified equally strings hence they must always be enclosed within double quotes.
Case:
#include <stdio.h> int main() { FILE *fp; fp = fopen ("data.txt", "w"); }
Output:
File is created in the same folder where you accept saved your code.
You can specify the path where yous want to create your file
#include <stdio.h> int main() { FILE *fp; fp = fopen ("D://information.txt", "w"); }
How to Close a file
I should always close a file whenever the operations on file are over. It means the contents and links to the file are terminated. This prevents accidental harm to the file.
'C' provides the fclose function to perform file endmost functioning. The syntax of fclose is as follows,
fclose (file_pointer);
Instance:
FILE *fp; fp = fopen ("information.txt", "r"); fclose (fp);
The fclose function takes a file pointer as an statement. The file associated with the file pointer is so airtight with the help of fclose part. It returns 0 if close was successful and EOF (end of file) if at that place is an error has occurred while file endmost.
After closing the file, the same file pointer can as well exist used with other files.
In 'C' programming, files are automatically close when the program is terminated. Closing a file manually by writing fclose function is a good programming practice.
Writing to a File
In C, when you write to a file, newline characters '\n' must be explicitly added.
The stdio library offers the necessary functions to write to a file:
- fputc(char, file_pointer): It writes a character to the file pointed to by file_pointer.
- fputs(str, file_pointer): It writes a cord to the file pointed to past file_pointer.
- fprintf(file_pointer, str, variable_lists): It prints a string to the file pointed to by file_pointer. The cord tin optionally include format specifiers and a list of variables variable_lists.
The program below shows how to perform writing to a file:
fputc() Function:
#include <stdio.h> int primary() { int i; FILE * fptr; char fn[50]; char str[] = "Guru99 Rocks\n"; fptr = fopen("fputc_test.txt", "w"); // "w" defines "writing manner" for (i = 0; str[i] != '\n'; i++) { /* write to file using fputc() role */ fputc(str[i], fptr); } fclose(fptr); return 0; }
Output:
The above programme writes a unmarried character into the fputc_test.txt file until it reaches the side by side line symbol "\north" which indicates that the judgement was successfully written. The process is to accept each character of the array and write it into the file.
- In the above plan, we have created and opened a file called fputc_test.txt in a write mode and declare our cord which volition be written into the file.
- We do a character by grapheme write operation using for loop and put each character in our file until the "\due north" character is encountered then the file is closed using the fclose part.
fputs () Office:
#include <stdio.h> int master() { FILE * fp; fp = fopen("fputs_test.txt", "w+"); fputs("This is Guru99 Tutorial on fputs,", fp); fputs("We don't need to use for loop\n", fp); fputs("Easier than fputc part\n", fp); fclose(fp); return (0); }
OUTPUT:
- In the above plan, nosotros have created and opened a file called fputs_test.txt in a write mode.
- Afterward we exercise a write operation using fputs() function past writing three unlike strings
- Then the file is closed using the fclose part.
fprintf()Function:
#include <stdio.h> int main() { FILE *fptr; fptr = fopen("fprintf_test.txt", "due west"); // "w" defines "writing style" /* write to file */ fprintf(fptr, "Learning C with Guru99\north"); fclose(fptr); return 0; }
OUTPUT:
- In the higher up programme we have created and opened a file called fprintf_test.txt in a write fashion.
- After a write operation is performed using fprintf() function by writing a string, then the file is closed using the fclose function.
Reading data from a File
There are three different functions dedicated to reading information from a file
- fgetc(file_pointer): Information technology returns the next character from the file pointed to by the file pointer. When the end of the file has been reached, the EOF is sent back.
- fgets(buffer, n, file_pointer): It reads n-1 characters from the file and stores the cord in a buffer in which the Nothing grapheme '\0' is appended equally the last character.
- fscanf(file_pointer, conversion_specifiers, variable_adresses): Information technology is used to parse and analyze data. Information technology reads characters from the file and assigns the input to a list of variable pointers variable_adresses using conversion specifiers. Go on in mind that equally with scanf, fscanf stops reading a string when space or newline is encountered.
The following program demonstrates reading from fputs_test.txt file using fgets(),fscanf() and fgetc () functions respectively :
#include <stdio.h> int main() { FILE * file_pointer; char buffer[30], c; file_pointer = fopen("fprintf_test.txt", "r"); printf("----read a line----\n"); fgets(buffer, l, file_pointer); printf("%southward\northward", buffer); printf("----read and parse information----\north"); file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer char str1[x], str2[2], str3[20], str4[2]; fscanf(file_pointer, "%due south %due south %due south %s", str1, str2, str3, str4); printf("Read String1 |%due south|\n", str1); printf("Read String2 |%s|\n", str2); printf("Read String3 |%s|\n", str3); printf("Read String4 |%s|\n", str4); printf("----read the entire file----\northward"); file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer while ((c = getc(file_pointer)) != EOF) printf("%c", c); fclose(file_pointer); return 0; }
Result:
----read a line---- Learning C with Guru99 ----read and parse data---- Read String1 |Learning| Read String2 |C| Read String3 |with| Read String4 |Guru99| ----read the entire file---- Learning C with Guru99
- In the to a higher place program, we have opened the file called "fprintf_test.txt" which was previously written using fprintf() function, and it contains "Learning C with Guru99" cord. Nosotros read it using the fgets() function which reads line by line where the buffer size must exist enough to handle the entire line.
- We reopen the file to reset the pointer file to point at the kickoff of the file. Create various strings variables to handle each word separately. Print the variables to encounter their contents. The fscanf() is mainly used to extract and parse data from a file.
- Reopen the file to reset the pointer file to point at the beginning of the file. Read data and print it from the file character past character using getc() function until the EOF statement is encountered
- After performing a reading operation file using different variants, we again closed the file using the fclose office.
Interactive File Read and Write with getc and putc
These are the simplest file operations. Getc stands for get graphic symbol, and putc stands for put grapheme. These two functions are used to handle only a unmarried graphic symbol at a fourth dimension.
Following programme demonstrates the file handling functions in 'C' programming:
#include <stdio.h> int main() { FILE * fp; char c; printf("File Handling\n"); //open up a file fp = fopen("demo.txt", "westward"); //writing operation while ((c = getchar()) != EOF) { putc(c, fp); } //close file fclose(fp); printf("Data Entered:\northward"); //reading fp = fopen("demo.txt", "r"); while ((c = getc(fp)) != EOF) { printf("%c", c); } fclose(fp); return 0; }
Output:
- In the higher up plan we have created and opened a file called demo in a write fashion.
- Subsequently a write operation is performed, then the file is closed using the fclose role.
- We have again opened a file which now contains data in a reading fashion. A while loop will execute until the eof is constitute. Once the end of file is found the performance will exist terminated and data will be displayed using printf function.
- After performing a reading functioning file is over again closed using the fclose function.
Summary
- A file is a infinite in a retention where data is stored.
- 'C' programming provides various functions to bargain with a file.
- A machinery of manipulating with the files is chosen equally file management.
- A file must be opened earlier performing operations on it.
- A file tin be opened in a read, write or an append style.
- Getc and putc functions are used to read and write a single graphic symbol.
- The role fscanf() permits to read and parse information from a file
- We can read (using the getc role) an entire file past looping to cover all the file until the EOF is encountered
- We can write to a file after creating its proper noun, by using the office fprintf() and it must have the newline character at the stop of the cord text.
Source: https://www.guru99.com/c-file-input-output.html
0 Response to "File Created by Open Can Open Again"
Post a Comment