How to Read and Write File in C

C File management

A File can be used to shop a big volume of persistent data. Like many other languages 'C' provides following file direction functions,

  1. Creation of a file
  2. Opening a file
  3. Reading a file
  4. Writing to a file
  5. 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 cake of data to a file
fscanf () Reading a block data from a file
getc () Reads a unmarried grapheme from a file
putc () Writes a single grapheme 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, you lot will learn-

  • How to Create a File
  • How to Shut 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 showtime step is to create a file. A file is nil but space in a memory where data is stored.

To create a file in a 'C' programme following syntax is used,

FILE *fp; fp = fopen ("file_name", "manner");          

In the above syntax, the file is a information construction which is defined in the standard library.

fopen is a standard function which is used to open up a file.

  • If the file is not present on the system, then it is created then opened.
  • If a file is already present on the system, then it is directly opened using this office.

fp is a file pointer which points to the blazon file.

Whenever you open or create a file, you have to specify what you are going to do with the file. A file in 'C' programming can be created or opened for reading/writing purposes. A way is used to specify whether you desire to open up a file for any of the beneath-given purposes. Post-obit are the different types of modes in 'C' programming which can be used while working with a file.

File Mode Description
r Open a file for reading. If a file is in reading fashion, and so no data is deleted if a file is already present 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 nowadays on a organization, then all the information inside the file is truncated, and it is opened for writing purposes.
a Open a file in
suspend fashion. If a file is in suspend mode, then the file is opened. The content within the file doesn't change.
r+ open for reading and writing from offset
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 mode are specified as strings hence they must always be enclosed within double quotes.

Instance:

#include <stdio.h> int main() { FILE *fp; fp  = fopen ("information.txt", "w"); }          

Output:

File is created in the same folder where yous take saved your code.

Yous can specify the path where you want to create your file

#include <stdio.h> int main() { FILE *fp; fp  = fopen ("D://data.txt", "west"); }

How to Shut a file

One should always close a file whenever the operations on file are over. It ways the contents and links to the file are terminated. This prevents accidental damage to the file.

'C' provides the fclose function to perform file endmost operation. The syntax of fclose is every bit follows,

fclose (file_pointer);          

Example:

FILE *fp; fp  = fopen ("data.txt", "r"); fclose (fp);          

The fclose function takes a file pointer as an argument. The file associated with the file pointer is then closed with the help of fclose office. Information technology returns 0 if close was successful and EOF (end of file) if there is an error has occurred while file endmost.

After closing the file, the same file pointer tin 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 role is a good programming practice.

Writing to a File

In C, when you write to a file, newline characters '\north' 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 string to the file pointed to by file_pointer.
  • fprintf(file_pointer, str, variable_lists): It prints a cord to the file pointed to by file_pointer. The string tin can optionally include format specifiers and a list of variables variable_lists.

The programme below shows how to perform writing to a file:

fputc() Part:

#include <stdio.h> int main() {         int i;         FILE * fptr;         char fn[50];         char str[] = "Guru99 Rocks\due north";         fptr = fopen("fputc_test.txt", "w"); // "due west" defines "writing mode"         for (i = 0; str[i] != '\n'; i++) {             /* write to file using fputc() function */             fputc(str[i], fptr);         }         fclose(fptr);         return 0;     }

Output:

The above program writes a single character into the fputc_test.txt file until it reaches the next line symbol "\n" which indicates that the sentence was successfully written. The process is to take each character of the array and write it into the file.

  1. In the above program, nosotros take created and opened a file called fputc_test.txt in a write mode and declare our cord which will be written into the file.
  2. We practice a grapheme by character write operation using for loop and put each grapheme in our file until the "\n" grapheme is encountered and then the file is closed using the fclose role.

fputs () Function:

#include <stdio.h> int chief() {         FILE * fp;         fp = fopen("fputs_test.txt", "due west+");         fputs("This is Guru99 Tutorial on fputs,", fp);         fputs("We don't demand to use for loop\n", fp);         fputs("Easier than fputc function\n", fp);         fclose(fp);         return (0);     }

OUTPUT:

  1. In the above program, we have created and opened a file called fputs_test.txt in a write mode.
  2. Later on we do a write performance using fputs() function by writing three different strings
  3. Then the file is airtight using the fclose office.

fprintf()Function:

#include <stdio.h>     int primary() {         FILE *fptr;         fptr = fopen("fprintf_test.txt", "w"); // "w" defines "writing fashion"         /* write to file */         fprintf(fptr, "Learning C with Guru99\n");         fclose(fptr);         return 0;     }

OUTPUT:

  1. In the above program we take created and opened a file chosen fprintf_test.txt in a write style.
  2. Later a write operation is performed using fprintf() office past writing a string, then the file is closed using the fclose function.

Reading data from a File

There are three unlike functions dedicated to reading data from a file

  • fgetc(file_pointer): It returns the next character from the file pointed to by the file arrow. When the end of the file has been reached, the EOF is sent dorsum.
  • fgets(buffer, n, file_pointer): Information technology reads north-one characters from the file and stores the cord in a buffer in which the NULL character '\0' is appended every bit the terminal graphic symbol.
  • fscanf(file_pointer, conversion_specifiers, variable_adresses): It is used to parse and analyze data. It reads characters from the file and assigns the input to a listing of variable pointers variable_adresses using conversion specifiers. Go along in heed that as with scanf, fscanf stops reading a cord when space or newline is encountered.

The post-obit 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----\north");         file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer         char str1[10], str2[2], str3[twenty], str4[2];         fscanf(file_pointer, "%south %s %southward %s", str1, str2, str3, str4);         printf("Read String1 |%s|\n", str1);         printf("Read String2 |%s|\n", str2);         printf("Read String3 |%south|\n", str3);         printf("Read String4 |%s|\n", str4);          printf("----read the unabridged file----\north");          file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer         while ((c = getc(file_pointer)) != EOF) printf("%c", c);          fclose(file_pointer);         return 0;     }

Issue:

----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

  1. In the to a higher place program, nosotros accept opened the file called "fprintf_test.txt" which was previously written using fprintf() function, and it contains "Learning C with Guru99" cord. We read information technology using the fgets() function which reads line by line where the buffer size must be enough to handle the entire line.
  2. We reopen the file to reset the arrow file to bespeak at the beginning of the file. Create various strings variables to handle each word separately. Impress the variables to run across their contents. The fscanf() is mainly used to extract and parse data from a file.
  3. Reopen the file to reset the pointer file to betoken at the beginning of the file. Read data and impress it from the file graphic symbol by character using getc() function until the EOF statement is encountered
  4. After performing a reading operation file using different variants, we again closed the file using the fclose function.

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 unmarried character at a fourth dimension.

Following plan demonstrates the file handling functions in 'C' programming:

#include <stdio.h> int master() {         FILE * fp;         char c;         printf("File Treatment\n");         //open a file         fp = fopen("demo.txt", "w");         //writing operation         while ((c = getchar()) != EOF) {             putc(c, fp);         }         //shut 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:

  1. In the above program we have created and opened a file called demo in a write mode.
  2. Afterward a write functioning is performed, then the file is closed using the fclose part.
  3. We have over again opened a file which now contains data in a reading fashion. A while loop will execute until the eof is constitute. Once the stop of file is establish the operation will be terminated and data volition be displayed using printf function.
  4. After performing a reading performance file is again closed using the fclose function.

Summary

  • A file is a space in a memory where information is stored.
  • 'C' programming provides various functions to deal with a file.
  • A mechanism of manipulating with the files is chosen as file management.
  • A file must be opened before performing operations on it.
  • A file can be opened in a read, write or an append mode.
  • Getc and putc functions are used to read and write a single character.
  • The office fscanf() permits to read and parse data from a file
  • We tin read (using the getc function) an entire file by looping to cover all the file until the EOF is encountered
  • Nosotros can write to a file afterward creating its name, by using the function fprintf() and it must have the newline graphic symbol at the end of the string text.

brownkneince.blogspot.com

Source: https://www.guru99.com/c-file-input-output.html

0 Response to "How to Read and Write File in C"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel