C++ Read Line by Line From Text File

C File management

A File can be used to shop a big volume of persistent information. Like many other languages 'C' provides following 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

Post-obit are the most of import file direction 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 pointer to a specified location
ftell () Returns the current position of a file pointer
rewind () Sets the file arrow 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()Function:
  • Reading information 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 first pace is to create a file. A file is nothing just space in a retentiveness 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 to a higher place syntax, the file is a information structure which is defined 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, then it is created and then opened.
  • If a file is already nowadays on the organization, then it is direct opened using this function.

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

Whenever yous 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 be created or opened for reading/writing purposes. A mode is used to specify whether you lot desire to open 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 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.
w 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 information technology is opened for writing purposes.
a Open a file in
append mode. If a file is in append style, then the file is opened. The content within the file doesn't modify.
r+ open 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 you lot have saved your lawmaking.

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

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

How to Close a file

Ane should always shut a file whenever the operations on file are over. Information technology 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 closing operation. 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 pointer as an argument. The file associated with the file arrow is so airtight with the help of fclose function. It returns 0 if close was successful and EOF (finish of file) if there is an error has occurred while file closing.

Later on closing the file, the aforementioned file arrow tin besides exist 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 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 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 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() Office:

#include <stdio.h> int main() {         int i;         FILE * fptr;         char fn[fifty];         char str[] = "Guru99 Rocks\due north";         fptr = fopen("fputc_test.txt", "west"); // "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 unmarried 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 higher up program, we have created and opened a file called fputc_test.txt in a write manner and declare our string which will be written into the file.
  2. We practice a grapheme by grapheme 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 function.

fputs () Function:

#include <stdio.h> int main() {         FILE * fp;         fp = fopen("fputs_test.txt", "west+");         fputs("This is Guru99 Tutorial on fputs,", fp);         fputs("We don't need to utilize for loop\north", fp);         fputs("Easier than fputc part\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 way.
  2. Afterwards we do a write performance using fputs() part by writing iii unlike strings
  3. Then the file is closed using the fclose function.

fprintf()Function:

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

OUTPUT:

  1. In the in a higher place program we accept created and opened a file called fprintf_test.txt in a write fashion.
  2. Later on a write operation is performed using fprintf() function past writing a string, then the file is closed using the fclose role.

Reading data from a File

There are three dissimilar functions dedicated to reading information from a file

  • fgetc(file_pointer): It returns the next character from the file pointed to past the file pointer. When the cease of the file has been reached, the EOF is sent dorsum.
  • fgets(buffer, n, file_pointer): Information technology reads north-i characters from the file and stores the string in a buffer in which the NULL character '\0' is appended as the last grapheme.
  • fscanf(file_pointer, conversion_specifiers, variable_adresses): It is used to parse and analyze information. It reads characters from the file and assigns the input to a list of variable pointers variable_adresses using conversion specifiers. Keep in mind that as with scanf, fscanf stops reading a string when infinite 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 arrow         char str1[10], str2[2], str3[20], str4[2];         fscanf(file_pointer, "%s %s %s %s", str1, str2, str3, str4);         printf("Read String1 |%s|\northward", str1);         printf("Read String2 |%south|\n", str2);         printf("Read String3 |%southward|\due north", str3);         printf("Read String4 |%s|\northward", str4);          printf("----read the entire file----\n");          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 information---- Read String1 |Learning| Read String2 |C| Read String3 |with| Read String4 |Guru99| ----read the entire file---- Learning C with Guru99

  1. In the above program, nosotros have 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() function which reads line past line where the buffer size must be enough to handle the entire line.
  2. We reopen the file to reset the pointer file to signal at the beginning of the file. Create various strings variables to handle each word separately. Impress the variables to come 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 point at the beginning of the file. Read data and print it from the file graphic symbol by grapheme using getc() function until the EOF statement is encountered
  4. After performing a reading performance file using dissimilar variants, we again closed the file using the fclose part.

Interactive File Read and Write with getc and putc

These are the simplest file operations. Getc stands for go grapheme, and putc stands for put character. 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 up a file         fp = fopen("demo.txt", "w");         //writing operation         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 to a higher place plan we have created and opened a file called demo in a write mode.
  2. After a write functioning is performed, then the file is closed using the fclose part.
  3. Nosotros have again opened a file which now contains information in a reading manner. A while loop will execute until the eof is constitute. In one case the end of file is establish the operation will be terminated and data will exist displayed using printf office.
  4. After performing a reading functioning file is again closed 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 machinery of manipulating with the files is chosen as file management.
  • A file must be opened earlier 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 unmarried character.
  • The function fscanf() permits to read and parse data from a file
  • We can read (using the getc role) an entire file by looping to cover all the file until the EOF is encountered
  • We tin can write to a file after creating its name, by using the function fprintf() and it must have the newline character at the finish of the string text.

bradleyghave1959.blogspot.com

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

0 Response to "C++ Read Line by Line From Text File"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel