Read and Write to a File C
C File management
A File can be used to shop a large volume of persistent data. Like many other languages 'C' provides post-obit file management functions,
- Creation of a file
- Opening a file
- Reading a file
- Writing to a file
- Closing a file
Post-obit 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 grapheme from a file | |
putc () | Writes a unmarried 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 pointer at the start of a file |
In this tutorial, you will acquire-
- How to Create a File
- How to Close a file:
- Writing to a File
- fputc() Function:
- fputs () Function:
- fprintf()Function:
- Reading data from a File
- Interactive File Read and Write with getc and putc
How to Create a File
Whenever you desire to piece of work with a file, the beginning stride is to create a file. A file is zippo but space in a memory where data is stored.
To create a file in a 'C' program post-obit syntax is used,
FILE *fp; fp = fopen ("file_name", "mode");
In the to a higher place syntax, the file is a data construction which is defined 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, so it is created and then opened.
- If a file is already present on the system, then information technology is direct opened using this function.
fp is a file pointer which points to the type file.
Whenever y'all open or create a file, you have to specify what you lot are going to do with the file. A file in 'C' programming can exist created or opened for reading/writing purposes. A manner is used to specify whether you want to open a file for any of the below-given purposes. Post-obit are the different types of modes in 'C' programming which can exist used while working with a file.
File Mode | Description |
---|---|
r | Open up a file for reading. If a file is in reading style, so no data is deleted if a file is already present on a organization. |
west | Open a file for writing. If a file is in writing mode, then a new file is created if a file doesn't exist 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 mode. If a file is in append manner, then the file is opened. The content inside the file doesn't change. |
r+ | open up for reading and writing from beginning |
due west+ | 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 mode are specified as strings hence they must always be enclosed within double quotes.
Example:
#include <stdio.h> int main() { FILE *fp; fp = fopen ("data.txt", "w"); }
Output:
File is created in the same folder where y'all take saved your code.
Yous can specify the path where y'all want to create your file
#include <stdio.h> int main() { FILE *fp; fp = fopen ("D://data.txt", "w"); }
How to Close a file
Ane should e'er shut a file whenever the operations on file are over. It ways the contents and links to the file are terminated. This prevents accidental harm to the file.
'C' provides the fclose function to perform file closing performance. The syntax of fclose is as follows,
fclose (file_pointer);
Example:
FILE *fp; fp = fopen ("data.txt", "r"); fclose (fp);
The fclose function takes a file arrow as an argument. The file associated with the file arrow is then closed with the aid of fclose office. It returns 0 if close was successful and EOF (cease of file) if at that place is an fault has occurred while file endmost.
Later on endmost the file, the same file pointer can as well be used with other files.
In 'C' programming, files are automatically close when the program is terminated. Closing a file manually by writing fclose part is a skillful programming practice.
Writing to a File
In C, when you write to a file, newline characters '\due north' must exist explicitly added.
The stdio library offers the necessary functions to write to a file:
- fputc(char, file_pointer): It writes a graphic symbol to the file pointed to by file_pointer.
- fputs(str, file_pointer): It writes a string to the file pointed to by file_pointer.
- fprintf(file_pointer, str, variable_lists): It prints a cord to the file pointed to past file_pointer. The cord can optionally include format specifiers and a listing of variables variable_lists.
The program below shows how to perform writing to a file:
fputc() Part:
#include <stdio.h> int primary() { int i; FILE * fptr; char fn[l]; 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() function */ fputc(str[i], fptr); } fclose(fptr); return 0; }
Output:
The higher up program writes a unmarried character into the fputc_test.txt file until it reaches the side by side line symbol "\n" which indicates that the sentence was successfully written. The process is to take each grapheme of the array and write it into the file.
- In the above program, we have created and opened a file called fputc_test.txt in a write mode and declare our cord which will be written into the file.
- We do a character by character write functioning using for loop and put each character in our file until the "\n" character is encountered then the file is airtight using the fclose function.
fputs () Function:
#include <stdio.h> int chief() { 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\north", fp); fputs("Easier than fputc function\north", fp); fclose(fp); return (0); }
OUTPUT:
- In the above program, we have created and opened a file chosen fputs_test.txt in a write way.
- After nosotros do a write functioning using fputs() function by writing three different strings
- Then the file is closed using the fclose function.
fprintf()Function:
#include <stdio.h> int primary() { FILE *fptr; fptr = fopen("fprintf_test.txt", "w"); // "w" defines "writing mode" /* write to file */ fprintf(fptr, "Learning C with Guru99\n"); fclose(fptr); return 0; }
OUTPUT:
- In the higher up plan we have created and opened a file called fprintf_test.txt in a write manner.
- After a write operation is performed using fprintf() office by writing a string, then the file is closed using the fclose function.
Reading data from a File
In that location are iii dissimilar functions dedicated to reading data from a file
- fgetc(file_pointer): It returns the side by side character from the file pointed to by the file pointer. When the terminate 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 string in a buffer in which the Nix character '\0' is appended as the last graphic symbol.
- fscanf(file_pointer, conversion_specifiers, variable_adresses): Information technology is used to parse and analyze data. It 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 as with scanf, fscanf stops reading a cord 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, 50, file_pointer); printf("%southward\n", buffer); printf("----read and parse data----\due north"); file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer char str1[10], str2[2], str3[20], str4[2]; fscanf(file_pointer, "%s %s %southward %s", str1, str2, str3, str4); printf("Read String1 |%s|\n", str1); printf("Read String2 |%s|\n", str2); printf("Read String3 |%s|\north", str3); printf("Read String4 |%s|\north", str4); printf("----read the entire file----\n"); file_pointer = fopen("fprintf_test.txt", "r"); //reset the arrow while ((c = getc(file_pointer)) != EOF) printf("%c", c); fclose(file_pointer); return 0; }
Effect:
----read a line---- Learning C with Guru99 ----read and parse information---- Read String1 |Learning| Read String2 |C| Read String3 |with| Read String4 |Guru99| ----read the entire file---- Learning C with Guru99
- In the above plan, nosotros take opened the file called "fprintf_test.txt" which was previously written using fprintf() function, and it contains "Learning C with Guru99" string. We read it using the fgets() office which reads line past line where the buffer size must exist plenty to handle the entire line.
- We reopen the file to reset the arrow file to point at the outset of the file. Create various strings variables to handle each word separately. Impress the variables to see their contents. The fscanf() is mainly used to extract and parse information from a file.
- Reopen the file to reset the arrow file to bespeak at the beginning of the file. Read information and print it from the file character by grapheme using getc() part until the EOF statement is encountered
- After performing a reading operation file using different variants, we once again closed the file using the fclose role.
Interactive File Read and Write with getc and putc
These are the simplest file operations. Getc stands for go character, and putc stands for put character. These two functions are used to handle only a single character at a time.
Following programme demonstrates the file handling functions in 'C' programming:
#include <stdio.h> int principal() { FILE * fp; char c; printf("File Treatment\n"); //open a file fp = fopen("demo.txt", "westward"); //writing functioning while ((c = getchar()) != EOF) { putc(c, fp); } //close file fclose(fp); printf("Data Entered:\n"); //reading fp = fopen("demo.txt", "r"); while ((c = getc(fp)) != EOF) { printf("%c", c); } fclose(fp); return 0; }
Output:
- In the above programme nosotros accept created and opened a file called demo in a write mode.
- Later a write operation is performed, then the file is closed using the fclose role.
- We have again opened a file which at present contains data in a reading mode. A while loop will execute until the eof is constitute. In one case the end of file is found the performance will be terminated and data volition be displayed using printf function.
- Later performing a reading functioning file is once again airtight using the fclose function.
Summary
- A file is a space in a memory where data is stored.
- 'C' programming provides various functions to deal with a file.
- A mechanism of manipulating with the files is called equally file management.
- A file must exist opened before performing operations on it.
- A file tin be opened in a read, write or an append mode.
- Getc and putc functions are used to read and write a single graphic symbol.
- The part fscanf() permits to read and parse data from a file
- We tin can read (using the getc office) an entire file by looping to cover all the file until the EOF is encountered
- We tin write to a file after creating its name, by using the office fprintf() and it must accept the newline character at the cease of the string text.
Source: https://www.guru99.com/c-file-input-output.html
0 Response to "Read and Write to a File C"
ارسال یک نظر