Write a C program to convert text file to binary file.
#include <stdio.h>
#include <string.h>
#define MAX 256
int main() {
int num;
FILE *fp1, *fp2;
char ch, src[MAX], tgt[MAX];
/* get the input file name from the user */
printf("Enter your input file name:");
scanf("%s", src);
/* get the output filename from the user */
printf("Enter your output file name:");
scanf("%s", tgt);
/* open the source file in read mode */
fp1 = fopen(src, "r");
/* error handling */
if (!fp1) {
printf("Unable to open the input file!!\n");
return 0;
}
/* open the target file in binary write mode */
fp2 = fopen(tgt, "wb");
/* error handling */
if (!fp2) {
printf("Unable to open the output file!!\n");
return 0;
}
#include <string.h>
#define MAX 256
int main() {
int num;
FILE *fp1, *fp2;
char ch, src[MAX], tgt[MAX];
/* get the input file name from the user */
printf("Enter your input file name:");
scanf("%s", src);
/* get the output filename from the user */
printf("Enter your output file name:");
scanf("%s", tgt);
/* open the source file in read mode */
fp1 = fopen(src, "r");
/* error handling */
if (!fp1) {
printf("Unable to open the input file!!\n");
return 0;
}
/* open the target file in binary write mode */
fp2 = fopen(tgt, "wb");
/* error handling */
if (!fp2) {
printf("Unable to open the output file!!\n");
return 0;
}
/*
* read data from input file and write
* the binary form of it in output file
*/
while (!feof(fp1)) {
/* reading one byte of data */
fread(&ch, sizeof(char), 1, fp1);
/* converting the character to ascii integer value */
num = ch;
/* writing 4 byte of data to the output file */
fwrite(&num, sizeof(int), 1, fp2);
}
/* close all opened files */
fclose(fp1);
fclose(fp2);
return 0;
}
Output:
jp@jp-VirtualBox:~/$ cat data.txt
abcdefg1234
56789hijklm
123456abcde
fghijk12345
abcdefg1234
56789hijklm
123456abcde
fghijk12345
jp@jp-VirtualBox:~/$ ./a.out
Enter your input file name: data.txt
Enter your output file name: res.bin
a^@^@^@b^@^@^@c^@^@^@d^@^@^@e^@^
a^@^@^@b^@^@^@c^@^@^@d^@^@^@e^@^
Enter your input file name: data.txt
Enter your output file name: res.bin
jp@jp-VirtualBox:~/$ vi res.bin
a^@^@^@b^@^@^@c^@^@^@d^@^@^@e^@^a^@^@^@b^@^@^@c^@^@^@d^@^@^@e^@^
a^@^@^@b^@^@^@c^@^@^@d^@^@^@e^@^
SEE ALSO
- c program to write a string into a file
- c program to read numbers from a file and write even, odd and prime numbers in separate files
- c program to create a file and store "hello world" in it
- c program to read the contents of the given file
- c program to delete all blank lines in a file
- c program to check whether a directory exists or not
- c program to check whether a file exists or not
- c program to copy a file from one location to another
- c program to create, read, edit and close a file
- c program to create a file with input content
- c program to read a file line by line
- c program to compare two files character by character
- c program to concatenate two files
- c program to convert lowercase characters in a file to uppercase
- c program to convert uppercase characters in a file to lowercase
- c program to list all files in a directory
- c program to list all files in a directory recursively
- c program to append data into a file
- c program to count number of lines in a file
- c program to delete a file or directory
- c program to print the source code of itself as output
- c program to convert the contents in a file from lowercase to uppercase and vice versa
- c program to merge two files
- c program to move a file to different location
- c program to replace articles with space in a text file
- c program to print the words in a file starting with the given character
- c program to delete given word in a file
- c program to replace a word in a file
- c program to merge alternate lines from two files
- c program to remove numbers in a file
- c program to check end of file
- c program to compare two files line by line
- c program to delete specific line from a file
- c program to replace specific line in a file
- c program to take input from a file
- c program to delete a record from a file
- c program to find the number of character, words and lines in a file
- c program to sort characters in each words of a file
- c program to convert text file to binary
- c program to split a file to multiple files
- c program to find the file type, permission, size and last modification date of the given file
- c program to encrypt and decrypt contents of a file
- c program to eliminate comments from a file
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteHi,
ReplyDeleteFirst, I would like to thank you for your good blog.
I tried your code, it work fine and generate a binary file.
But, the output file size is bigger then the ascii input file ?
as I learned, binary file should be smaller.
Thank you
This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post. https://onlineconvertfree.com/converter/audio/
ReplyDeleteThanks for taking the time to discuss that, I feel strongly about this and so really like getting to know more on this kind of field. Do you mind updating your blog post with additional insight? It should be really useful for all of us. onlineconvertfree
ReplyDelete