How to Read in a File in C

C File management

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

  1. Cosmos 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 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 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 pointer to a specified location
ftell () Returns the current position of a file arrow
rewind () Sets the file pointer at the starting time of a file

In this tutorial, you will learn-

  • How to Create a File
  • How to Close a file:
  • Writing to a File
  • fputc() Role:
  • fputs () Part:
  • fprintf()Function:
  • Reading information from a File
  • Interactive File Read and Write with getc and putc

How to Create a File

Whenever you want to work with a file, the first step is to create a file. A file is nada only space in a memory where data is stored.

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

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

In the higher up 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 non present on the system, so it is created and then opened.
  • If a file is already nowadays on the system, then it is directly opened using this function.

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

Whenever you open or create a file, yous have to specify what you are going to do with the file. A file in 'C' programming tin can exist created or opened for reading/writing purposes. A mode 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 tin can be used while working with a file.

File Mode Description
r Open a file for reading. If a file is in reading mode, then no data is deleted if a file is already present on a system.
west Open a file for writing. If a file is in writing mode, and so a new file is created if a file doesn't exist at all. If a file is already nowadays on a organization, and then all the data inside the file is truncated, and it is opened for writing purposes.
a Open a file in
append style. If a file is in append fashion, then the file is opened. The content inside 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 style 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", "due west"); }          

Output:

File is created in the same folder where you have saved your code.

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

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

How to Close a file

One 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 office to perform file closing operation. The syntax of fclose is as follows,

fclose (file_pointer);          

Case:

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

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

After endmost the file, the same file arrow can also be used with other files.

In 'C' programming, files are automatically shut 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 can optionally include format specifiers and a list of variables variable_lists.

The plan 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\northward";         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 program writes a single character into the fputc_test.txt file until information technology reaches the next line symbol "\north" 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 above programme, we take created and opened a file chosen fputc_test.txt in a write mode and declare our string which volition exist written into the file.
  2. We do a character by grapheme write operation using for loop and put each character in our file until the "\n" grapheme is encountered so the file is closed using the fclose role.

fputs () Office:

#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\due north", 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. Afterward we exercise a write performance using fputs() part by writing iii different strings
  3. Then the file is closed using the fclose function.

fprintf()Function:

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

OUTPUT:

  1. In the in 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() office past writing a string, and then the file is closed using the fclose part.

Reading data from a File

At that place are three different functions defended to reading data from a file

  • fgetc(file_pointer): It returns the next graphic symbol from the file pointed to past the file arrow. When the end of the file has been reached, the EOF is sent dorsum.
  • fgets(buffer, n, file_pointer): It reads north-ane characters from the file and stores the string in a buffer in which the NULL character '\0' is appended equally the concluding graphic symbol.
  • fscanf(file_pointer, conversion_specifiers, variable_adresses): It is used to parse and clarify data. Information technology reads characters from the file and assigns the input to a list of variable pointers variable_adresses using conversion specifiers. Keep in mind that equally with scanf, fscanf stops reading a cord when space or newline is encountered.

The following plan 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\n", buffer);          printf("----read and parse data----\n");         file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer         char str1[10], str2[2], str3[20], str4[2];         fscanf(file_pointer, "%s %s %due south %south", str1, str2, str3, str4);         printf("Read String1 |%s|\n", str1);         printf("Read String2 |%s|\north", str2);         printf("Read String3 |%southward|\n", str3);         printf("Read String4 |%s|\north", str4);          printf("----read the entire file----\northward");          file_pointer = fopen("fprintf_test.txt", "r"); //reset the arrow         while ((c = getc(file_pointer)) != EOF) printf("%c", c);          fclose(file_pointer);         return 0;     }

Event:

----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 programme, we take opened the file chosen "fprintf_test.txt" which was previously written using fprintf() office, and information technology contains "Learning C with Guru99" string. We read it using the fgets() part which reads line past line where the buffer size must be plenty to handle the unabridged line.
  2. Nosotros reopen the file to reset the pointer file to point at the starting time of the file. Create various strings variables to handle each word separately. Print the variables to see 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 impress it from the file character by grapheme using getc() function until the EOF statement is encountered
  4. After performing a reading functioning file using different variants, nosotros 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 grapheme, and putc stands for put character. These two functions are used to handle only a unmarried 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", "west");         //writing operation         while ((c = getchar()) != EOF) {             putc(c, fp);         }         //shut file         fclose(fp);         printf("Data Entered:\due north");         //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 style.
  2. Later on a write functioning is performed, and then the file is closed using the fclose office.
  3. We take once more opened a file which now contains data in a reading mode. A while loop will execute until the eof is found. Once the end of file is constitute the operation will exist terminated and data will be displayed using printf function.
  4. After performing a reading performance file is again closed using the fclose function.

Summary

  • A file is a infinite in a retentivity where data is stored.
  • 'C' programming provides diverse functions to deal with a file.
  • A machinery of manipulating with the files is chosen as file management.
  • A file must be opened before performing operations on information technology.
  • 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 function fscanf() permits to read and parse data from a file
  • Nosotros can read (using the getc function) an unabridged file by looping to embrace all the file until the EOF is encountered
  • We can write to a file after creating its name, by using the function fprintf() and it must have the newline graphic symbol at the terminate of the string text.

sevieremstels.blogspot.com

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

0 Response to "How to Read in a File in C"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel