Read Bits From a File in C++
C File management
A File tin exist used to store a large volume of persistent data. Like many other languages 'C' provides following file management functions,
- Creation of a file
- Opening a file
- Reading a file
- Writing to a file
- Closing a file
Post-obit are the nigh important file management functions available in 'C,'
role | purpose | |
---|---|---|
fopen () | Creating a file or opening an existing file | |
fclose () | Closing a file | |
fprintf () | Writing a cake of information 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 pointer to a specified location | |
ftell () | Returns the current position of a file arrow | |
rewind () | Sets the file pointer at the beginning 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()Role:
- Reading data from a File
- Interactive File Read and Write with getc and putc
How to Create a File
Whenever y'all desire to work with a file, the first step is to create a file. A file is zilch but space in a retention where data is stored.
To create a file in a 'C' program following syntax is used,
FILE *fp; fp = fopen ("file_name", "style");
In the above syntax, the file is a information structure which is defined in the standard library.
fopen is a standard office which is used to open a file.
- If the file is not present on the organization, then it is created and and so opened.
- If a file is already present on the system, then it is directly opened using this part.
fp is a file pointer which points to the blazon file.
Whenever you open or create a file, y'all accept to specify what you are going to practise with the file. A file in 'C' programming can be created or opened for reading/writing purposes. A mode is used to specify whether you want to open up a file for whatsoever 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 Mode | Description |
---|---|
r | Open a file for reading. If a file is in reading manner, then no information is deleted if a file is already present on a system. |
w | Open a file for writing. If a file is in writing way, then a new file is created if a file doesn't be 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 manner. If a file is in append manner, then the file is opened. The content within the file doesn't change. |
r+ | open for reading and writing from kickoff |
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 way are specified as strings hence they must e'er be enclosed within double quotes.
Example:
#include <stdio.h> int chief() { FILE *fp; fp = fopen ("data.txt", "w"); }
Output:
File is created in the same binder where you accept saved your lawmaking.
You can specify the path where yous want to create your file
#include <stdio.h> int main() { FILE *fp; fp = fopen ("D://data.txt", "w"); }
How to Shut 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 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 part takes a file arrow 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 (cease of file) if there is an error has occurred while file closing.
Later on closing the file, the same file pointer tin can too be used with other files.
In 'C' programming, files are automatically close when the programme is terminated. Closing a file manually by writing fclose office is a good programming practise.
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): Information technology writes a character to the file pointed to by file_pointer.
- fputs(str, file_pointer): Information technology 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 string tin 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\north"; fptr = fopen("fputc_test.txt", "w"); // "w" defines "writing mode" for (i = 0; str[i] != '\north'; i++) { /* write to file using fputc() part */ 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 next line symbol "\northward" which indicates that the sentence was successfully written. The process is to have each character of the array and write it into the file.
- In the in a higher place plan, nosotros accept created and opened a file called fputc_test.txt in a write mode and declare our string which will be written into the file.
- We do a character by grapheme write operation using for loop and put each character in our file until the "\n" character is encountered then the file is closed using the fclose function.
fputs () Role:
#include <stdio.h> int main() { FILE * fp; fp = fopen("fputs_test.txt", "w+"); fputs("This is Guru99 Tutorial on fputs,", fp); fputs("Nosotros don't need to utilise for loop\n", fp); fputs("Easier than fputc function\n", fp); fclose(fp); return (0); }
OUTPUT:
- In the above program, we accept created and opened a file called fputs_test.txt in a write mode.
- Afterward we exercise a write operation using fputs() function past writing three different strings
- And then the file is airtight using the fclose part.
fprintf()Function:
#include <stdio.h> int main() { FILE *fptr; fptr = fopen("fprintf_test.txt", "due west"); // "westward" defines "writing way" /* write to file */ fprintf(fptr, "Learning C with Guru99\n"); fclose(fptr); return 0; }
OUTPUT:
- In the higher up programme nosotros have created and opened a file chosen fprintf_test.txt in a write way.
- Afterward a write operation is performed using fprintf() function by writing a cord, then the file is closed using the fclose function.
Reading data from a File
There are iii different functions dedicated to reading data from a file
- fgetc(file_pointer): It returns the next character from the file pointed to by the file pointer. When the stop of the file has been reached, the EOF is sent back.
- fgets(buffer, north, file_pointer): Information technology reads n-1 characters from the file and stores the string in a buffer in which the Goose egg grapheme '\0' is appended as the last character.
- 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 listen that as with scanf, fscanf stops reading a string 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 primary() { FILE * file_pointer; char buffer[30], c; file_pointer = fopen("fprintf_test.txt", "r"); printf("----read a line----\north"); fgets(buffer, fifty, file_pointer); printf("%south\n", buffer); printf("----read and parse information----\n"); file_pointer = fopen("fprintf_test.txt", "r"); //reset the pointer char str1[10], str2[two], str3[xx], str4[2]; fscanf(file_pointer, "%s %due south %s %due south", str1, str2, str3, str4); printf("Read String1 |%s|\n", str1); printf("Read String2 |%s|\north", str2); printf("Read String3 |%due south|\due north", str3); printf("Read String4 |%s|\north", 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 data---- Read String1 |Learning| Read String2 |C| Read String3 |with| Read String4 |Guru99| ----read the unabridged file---- Learning C with Guru99
- In the in a higher place program, we accept opened the file chosen "fprintf_test.txt" which was previously written using fprintf() role, and it contains "Learning C with Guru99" string. We read it using the fgets() function which reads line by line where the buffer size must exist enough to handle the unabridged line.
- Nosotros reopen the file to reset the pointer file to indicate at the start 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.
- Reopen the file to reset the pointer file to point at the first of the file. Read data and impress it from the file grapheme past graphic symbol using getc() function until the EOF argument is encountered
- After performing a reading performance file using dissimilar variants, nosotros again airtight 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 character. These ii functions are used to handle but a single character at a time.
Post-obit plan demonstrates the file handling functions in 'C' programming:
#include <stdio.h> int primary() { FILE * fp; char c; printf("File Handling\n"); //open up a file fp = fopen("demo.txt", "w"); //writing performance while ((c = getchar()) != EOF) { putc(c, fp); } //shut 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:
- In the to a higher place program nosotros accept created and opened a file called demo in a write mode.
- Subsequently a write functioning is performed, so the file is airtight using the fclose function.
- We have again opened a file which now contains data in a reading mode. A while loop will execute until the eof is plant. One time the finish of file is found the performance will be terminated and data will be displayed using printf part.
- After performing a reading operation file is once 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 bargain with a file.
- A machinery of manipulating with the files is called equally file direction.
- A file must exist opened before performing operations on it.
- A file tin can be opened in a read, write or an append manner.
- 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
- We can read (using the getc part) an entire file by looping to cover all the file until the EOF is encountered
- We can write to a file subsequently creating its name, by using the function fprintf() and it must have the newline character at the cease of the string text.
Source: https://www.guru99.com/c-file-input-output.html
Post a Comment for "Read Bits From a File in C++"