C Style File Io Reading a Text File

C File management

A File can be used to store a large book of persistent information. Like many other languages 'C' provides post-obit file management 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 nigh important file management functions available in 'C,'

function purpose
fopen () Creating a file or opening an existing file
fclose () Endmost a file
fprintf () Writing a block of information to a file
fscanf () Reading a block information from a file
getc () Reads a single character from a file
putc () Writes a single graphic symbol 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 beginning of a file

In this tutorial, you will learn-

  • How to Create a File
  • How to Close a file:
  • Writing to a File
  • fputc() Function:
  • fputs () Function:
  • fprintf()Office:
  • 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 first stride is to create a file. A file is nix but space in a retention where information is stored.

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

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

In the above syntax, the file is a data structure 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 organisation, then information technology is created and then opened.
  • If a file is already nowadays on the system, so it is directly opened using this role.

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

Whenever you open or create a file, you have to specify what you are going to practice with the file. A file in 'C' programming can be created or opened for reading/writing purposes. A style is used to specify whether you desire to open up a file for whatever of the below-given purposes. Post-obit are the unlike 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 mode, so no data is deleted if a file is already present on a system.
w Open up a file for writing. If a file is in writing way, 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 up a file in
append mode. If a file is in append mode, so the file is opened. The content within the file doesn't alter.
r+ open up 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 way are specified as 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 aforementioned folder where you have saved your code.

You lot can specify the path where you desire to create your file

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

How to Close a file

1 should ever close a file whenever the operations on file are over. It means the contents and links to the file are terminated. This prevents accidental damage to the file.

'C' provides the fclose function to perform file closing functioning. The syntax of fclose is as follows,

fclose (file_pointer);          

Case:

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

The fclose function takes a file arrow equally an argument. The file associated with the file pointer is then airtight with the help of fclose function. It returns 0 if close was successful and EOF (end of file) if there is an error has occurred while file closing.

After closing the file, the same file pointer can besides be used with other files.

In 'C' programming, files are automatically close when the programme is terminated. Endmost a file manually by writing fclose role is a adept programming exercise.

Writing to a File

In C, when y'all 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 past file_pointer.
  • fputs(str, file_pointer): It writes a string 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 string tin can optionally include format specifiers and a list of variables variable_lists.

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

fputc() Role:

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

Output:

The to a higher place plan writes a unmarried character into the fputc_test.txt file until it reaches the side by side line symbol "\northward" which indicates that the sentence was successfully written. The procedure is to take each character of the array and write it into the file.

  1. In the higher up program, we take created and opened a file called fputc_test.txt in a write style and declare our string which will be written into the file.
  2. We do a character by character write operation using for loop and put each character in our file until the "\n" character is encountered and so the file is closed using the fclose office.

fputs () Function:

#include <stdio.h> int main() {         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\northward", fp);         fputs("Easier than fputc role\north", fp);         fclose(fp);         return (0);     }

OUTPUT:

  1. In the above program, nosotros take created and opened a file called fputs_test.txt in a write mode.
  2. Afterward we do a write operation using fputs() function past writing 3 unlike strings
  3. So the file is closed using the fclose function.

fprintf()Function:

#include <stdio.h>     int main() {         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:

  1. In the to a higher place programme we have created and opened a file called fprintf_test.txt in a write mode.
  2. After a write operation is performed using fprintf() function by writing a cord, so the file is closed using the fclose function.

Reading information from a File

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

  • fgetc(file_pointer): It returns the adjacent character from the file pointed to by the file arrow. When the end of the file has been reached, the EOF is sent back.
  • fgets(buffer, n, file_pointer): It reads due north-1 characters from the file and stores the cord in a buffer in which the Cypher character '\0' is appended as the last grapheme.
  • 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. Proceed in mind that as with scanf, fscanf stops reading a string 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("%s\northward", buffer);          printf("----read and parse information----\n");         file_pointer = fopen("fprintf_test.txt", "r"); //reset the arrow         char str1[10], str2[ii], str3[xx], str4[2];         fscanf(file_pointer, "%s %southward %s %due south", str1, str2, str3, str4);         printf("Read String1 |%southward|\n", str1);         printf("Read String2 |%due south|\due north", str2);         printf("Read String3 |%south|\north", str3);         printf("Read String4 |%s|\n", 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;     }

Result:

----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 in a higher place program, nosotros have opened the file called "fprintf_test.txt" which was previously written using fprintf() office, and it contains "Learning C with Guru99" cord. Nosotros read it using the fgets() role which reads line past line where the buffer size must be enough to handle the entire line.
  2. Nosotros reopen the file to reset the arrow file to point at the beginning of the file. Create various strings variables to handle each word separately. Impress the variables to encounter 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 point at the beginning of the file. Read data and print it from the file character past grapheme using getc() function until the EOF statement is encountered
  4. Later on 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 get character, and putc stands for put graphic symbol. These two functions are used to handle only a single character at a time.

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

#include <stdio.h> int main() {         FILE * fp;         char c;         printf("File Handling\n");         //open a file         fp = fopen("demo.txt", "due west");         //writing functioning         while ((c = getchar()) != EOF) {             putc(c, fp);         }         //close file         fclose(fp);         printf("Information Entered:\n");         //reading         fp = fopen("demo.txt", "r");         while ((c = getc(fp)) != EOF) {             printf("%c", c);         }         fclose(fp);         return 0;     }          

Output:

  1. In the higher up program we have created and opened a file called demo in a write way.
  2. Later on a write operation is performed, and so the file is closed using the fclose function.
  3. We take again opened a file which now contains data in a reading mode. A while loop volition execute until the eof is found. Once the end of file is establish the functioning will be terminated and data will be displayed using printf role.
  4. After performing a reading operation file is once 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 called every bit file management.
  • A file must be opened before performing operations on it.
  • A file tin can be opened in a read, write or an append style.
  • Getc and putc functions are used to read and write a single character.
  • The part fscanf() permits to read and parse information from a file
  • We tin can read (using the getc part) an entire file by looping to cover all the file until the EOF is encountered
  • We tin write to a file afterward creating its name, by using the part fprintf() and information technology must have the newline graphic symbol at the cease of the cord text.

wrightdells1955.blogspot.com

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

0 Response to "C Style File Io Reading a Text File"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel