Programming in C—Binary I/O Functions. by peerzadazeeshan

View this thread on steempeak.com
· @peerzadazeeshan ·
$4.35
Programming in C—Binary I/O Functions.
<div class="text-justify">

##### <center>Hello Everyone</center>

<center> ![images.jpeg](https://files.peakd.com/file/peakd-hive/peerzadazeeshan/Q84ngyN8-images.jpeg)</center>
<center><sup>[Image Source](https://images.app.goo.gl/6XzumkqqxC8QqusU7)</sup></center>

I hope you all are fine and safe inside your homes. This is a weird time ongoing in the whole world and I hope it will get over soon. As during this time, everyone is locked into their homes. I want to share C programming language with you. I hope you guys like it, so lets happen today's topic.

#### <center> Binary File Input Output (I/O) Functions</center>
Have you ever thought, how can a large amount of numerical data be stored in file? Is it sufficient to store in text mode?
Well, a large amount of numerical data can not be stored in text mode. In such a case **Binary File** is used. 
Working on binary files is identical to text file with rare discrepancies in the opening, reading and writing to file.
Opening modes of binary files are **rb+, rb, wb+, wb, ab+** and **ab**. Only differences between opening modes of binary files and text files is that **b** is appended to indicate it is a ***Binary File**.
###### *fread() and fwrite()*— Functions for reading and writing Binary File.

These two functions *fread()* and *fwrite()* are used for reading from and writing to a file on disk respective of binary files.
***fwrite()***
Functions *fwrite()* takes 4 arguments. Address, size of data should be written in disk, number of type of data and pointer to file where user wants to write.
**Syntax:**
<code>fwrite(address_data,size_data,numbers_data,pointer_to_file);</code>
**Example:**
<code>#include <stdio.h>
struct marks
{
 int m1, m2,m3,m4,m5;
};
void main()
{
 int n;
 struct marks m;
 FILE *fptr;
 if ((fptr = fopen("C:\\TURBOC3\\mark.bin","wb")) == NULL){
 printf("File Cannot Open!");
 exit(1);
 }
 printf("Enter 5 Students Marks\n");
 for(n = 1; n <= 5; ++n)
 {
 printf("Enter English Mark of Student %d : ", n);
 scanf("%d",&m.m1);
 printf("Enter Math's Mark of Student %d : ", n);
 scanf("%d",&m.m2);
 printf("Enter Physics Mark of Student %d : ", n);
 scanf("%d",&m.m3);
 printf("Enter Chemistry Mark of Student %d : ", n);
 scanf("%d",&m.m4);
 printf("Enter Python Mark of Student %d : ", n);
 scanf("%d",&m.m5);
 fwrite(&m, sizeof(struct marks), 1, fptr); 
 }
 fclose(fptr); 
 }</code>

###### Output of above program:

<center>![IMG_20200430_190828.jpg](https://files.peakd.com/file/peakd-hive/peerzadazeeshan/1uB5yp9s-IMG_20200430_190828.jpg)</center>
<center><sup>Output got after execution of program</sup></center>

In the above program, user can create a new file **mark.bin** in ***C:\\TURBOC3\\*** path. Structure of the marks with 5 integers are declared as m1,m2,m3,m4 and m5 and are defined it in new function **m** as main function. 
User can read 5 subject marks and can store value into the file with the help of **fwrite()** function. Address of the **m** is stored in first parameter and second parameter takes size of marks structured. 
Since, only one instance of **m** is to be inserted so third parameter is 1. ***fptr** points to the file where data is to be stored. 
On last step, file is closed.
***fread()***
The function **fread()** also takes the same 4 arguments which **fwrite()** takes.
**Syntax:**
<code>fread(address_data,size_data,numbers_data,pointer_to_file);</code>
**Example:**
<code>#include <stdio.h>
struct marks
{
 int m1, m2,m3,m4,m5;
};
void main()
{
 int n;
struct marks m;
 FILE *fptr;
 if ((fptr = fopen("C:\\TURBOC3\\mark.bin","rb")) == NULL){
 printf("Cannot Open File !");
 exit(1);
 }
 printf("Marks are\n");
 for(n = 1; n <= 5; ++n)
 {
 fread(&m, sizeof(struct marks), 1, fptr); 
 printf("Student %d Marks : English: %d\t Maths : %d\t Physics: %d\t Chemistry : %d\t 
Python: %d\n",n, m.m1, m.m2, m.m3,m.m4,m.m5);
 }
 fclose(fptr); 
}</code>
###### Output of the above program:
<center>![IMG_20200430_203542.jpg](https://files.peakd.com/file/peakd-hive/peerzadazeeshan/RwkwHngd-IMG_20200430_203542.jpg)</center>
<center><sup>Output got after execution of above program</sup></center>
In the above program, user can read the same file **mark.bin** in ***C:\\TURBOC3\\*** path and loop through records respectively one by one. Simply, one marks record of marks size is read from the file indicated **fptr* into structure **m**. By doing all this procedure, user will get the same records which inserted in previous Example.

<center>![Logo.png](https://files.peakd.com/file/peakd-hive/peerzadazeeshan/i01yOun5-Logo.png)</center>
##### My last posts on programming, if you want to read go through it.
<center>
1: [Ist post—File processing](https://hive.blog/hive-122108/@peerzadazeeshan/c-programing-file-processing).
2: [2nd post—File Operations](https://hive.blog/hive-196387/@peerzadazeeshan/programming-in-c-file-operations)
3: [3rd post—Text File I/O](https://hive.blog/hive-122108/@peerzadazeeshan/programming-in-c-text-file-input-output-i-o)
</center>
<center>![Logo.png](https://files.peakd.com/file/peakd-hive/peerzadazeeshan/i01yOun5-Logo.png)</center>
##### <center>Thank you.
#### I hope you guys liked my post.
#### Keep Supporting.
#### *STAY TUNED FOR NEXT POST*
<center>
|UPVOTE|COMMENT|RESTEEM|
|-|-|-|
|IF YOU|LIKED|MY POST|
</center>

</center>

<center>![Logo.png](https://files.peakd.com/file/peakd-hive/peerzadazeeshan/i01yOun5-Logo.png)</center>

<center>![Created by @zord189](https://files.peakd.com/file/peakd-hive/peerzadazeeshan/UzLYooQj-peerzadazeeshan.gif)</center>
</div>

<h3>Stay Home, Stay Safe</h3>
#### <center>*@peerzadazeeshan*</center>
</center></p></div>
</div>

</div>
👍  , , , , , , , , , , , , , , , , , ,
👎  
properties (23)
post_id86,022,522
authorpeerzadazeeshan
permlinkprogramming-in-c-binary-i-o-functions
categoryhive-175254
json_metadata{"tags":["hive-175254","steemit","education","programming","technology"],"users":["peerzadazeeshan"],"image":["https:\/\/files.peakd.com\/file\/peakd-hive\/peerzadazeeshan\/Q84ngyN8-images.jpeg","https:\/\/files.peakd.com\/file\/peakd-hive\/peerzadazeeshan\/1uB5yp9s-IMG_20200430_190828.jpg","https:\/\/files.peakd.com\/file\/peakd-hive\/peerzadazeeshan\/RwkwHngd-IMG_20200430_203542.jpg","https:\/\/files.peakd.com\/file\/peakd-hive\/peerzadazeeshan\/i01yOun5-Logo.png","https:\/\/files.peakd.com\/file\/peakd-hive\/peerzadazeeshan\/UzLYooQj-peerzadazeeshan.gif"],"links":["https:\/\/images.app.goo.gl\/6XzumkqqxC8QqusU7","https:\/\/hive.blog\/hive-122108\/@peerzadazeeshan\/c-programing-file-processing","https:\/\/hive.blog\/hive-196387\/@peerzadazeeshan\/programming-in-c-file-operations","https:\/\/hive.blog\/hive-122108\/@peerzadazeeshan\/programming-in-c-text-file-input-output-i-o"],"app":"steemit\/0.2","format":"markdown"}
created2020-05-16 10:06:00
last_update2020-05-16 10:06:00
depth0
children6
net_rshares10,498,049,271,126
last_payout2020-05-23 10:06:00
cashout_time1969-12-31 23:59:59
total_payout_value1.938 SBD
curator_payout_value2.410 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length5,652
author_reputation12,816,746,004,355
root_title"Programming in C—Binary I/O Functions."
beneficiaries
0.
accountph-fund
weight2,000
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars0
author_curate_reward""
vote details (20)
@followforupvotes ·
Congratulations
As a follower of @followforupvotes this post has been randomly selected and upvoted! Enjoy your upvote and have a great day!</sup></center>
properties (22)
post_id86,022,558
authorfollowforupvotes
permlinkre-peerzadazeeshan-programming-in-c-binary-i-o-functions-20200516t101100125z
categoryhive-175254
json_metadata{}
created2020-05-16 10:11:03
last_update2020-05-16 10:11:03
depth1
children0
net_rshares0
last_payout2020-05-23 10:11:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length139
author_reputation24,990,662,983,063
root_title"Programming in C—Binary I/O Functions."
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@adityajainxds ·
@peerzadazeeshan currently c language is used everywhere as it is master of all language. before i also tried to learn but cannot get it.
properties (22)
post_id86,024,552
authoradityajainxds
permlinkqafhbo
categoryhive-175254
json_metadata{"users":["peerzadazeeshan"],"app":"steemit\/0.2"}
created2020-05-16 14:23:39
last_update2020-05-16 14:23:39
depth1
children2
net_rshares0
last_payout2020-05-23 14:23:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length137
author_reputation221,026,549,797,064
root_title"Programming in C—Binary I/O Functions."
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@peerzadazeeshan · (edited)
Few years ago it was considered as master of all languages but  from past 3-4 years Java was considered as master language. 
Thanks to corona, it is used everywhere nowadays for researching and now it surpassed Java too...
properties (22)
post_id86,030,841
authorpeerzadazeeshan
permlinkqagkmc
categoryhive-175254
json_metadata{"app":"steemit\/0.2"}
created2020-05-17 04:32:39
last_update2020-05-17 04:33:03
depth2
children1
net_rshares0
last_payout2020-05-24 04:32:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length222
author_reputation12,816,746,004,355
root_title"Programming in C—Binary I/O Functions."
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@mtl1979 ·
Java is pretty much ancient history, but instead JavaScript is used extensively by web-enabled applications... A lot of programs recently have been written in Python.
properties (22)
post_id86,116,985
authormtl1979
permlinkre-peerzadazeeshan-qaubn2
categoryhive-175254
json_metadata{"tags":["hive-175254"],"app":"steempeak\/2020.05.1"}
created2020-05-24 14:45:06
last_update2020-05-24 14:45:06
depth3
children0
net_rshares0
last_payout2020-05-31 14:45:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length166
author_reputation702,532,898,973
root_title"Programming in C—Binary I/O Functions."
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@steemcurator06 ·
This post has been rewarded by the Steem Community Curation Project. #communitycuration06.
properties (22)
post_id86,068,169
authorsteemcurator06
permlinkqam7ns
categoryhive-175254
json_metadata{"tags":["communitycuration06"],"app":"steemit\/0.2"}
created2020-05-20 05:05:21
last_update2020-05-20 05:05:21
depth1
children0
net_rshares0
last_payout2020-05-27 05:05:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length90
author_reputation992,354,096,132
root_title"Programming in C—Binary I/O Functions."
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@mtl1979 ·
Assignment inside if condition might confuse people still new to programming.
properties (22)
post_id86,117,096
authormtl1979
permlinkre-peerzadazeeshan-qaubzu
categoryhive-175254
json_metadata{"tags":["hive-175254"],"app":"steempeak\/2020.05.1"}
created2020-05-24 14:52:51
last_update2020-05-24 14:52:51
depth1
children0
net_rshares0
last_payout2020-05-31 14:52:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length77
author_reputation702,532,898,973
root_title"Programming in C—Binary I/O Functions."
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000