Question
For this lab, you are going to create two programs. The first program (named AsciiToBinary) will read data from an ASCII file and save the
For this lab, you are going to create two programs. The first program (named AsciiToBinary) will read data from an ASCII file and save the data to a new file in a binary format. The second program (named BinaryToAscii) will read data from a binary file and save the data to a new file in ASCII format. Background Preparation:
- Review file I/O for ASCII and binary formats, including the fread(), fwrite() and fprintf() functions.
- Review your notes on Command Line Parameters and/or find information online at a site such as https://www.tutorialspoint.com/cprogramming/c_command_line_arguments.htm
Specifications: Both programs will obtain the filenames to be read and written from command line parameters. For example:
The data contained in the ASCII file (both reading from and writing to) will be 10 floating point numbers, 10 lines of text, and 10 signed integers. There will be only one data item per line, and each line of text will contain no more than 40 characters (including ' ' and the NULL terminator). The data contained in the binary file (both reading from and writing to) will be 10 floating point numbers (of type double), 400 characters, 10 signed integers. You may find it helpful to think of the 400 characters as 10 lines of 40 characters each. When writing the floating point values to the ASCII output file, write them to four decimal places.
Sample ASCII and binary format files are provided. The data in the two files correspond to each other. There will be no blank lines found in either file. The specific method that you use to read and write the data is up to you. You may wish to read all the data from the input file before writing to the output file, or you may wish to write each data element as it is read. Be sure to close both files (input and output) before exiting the program. Compiling: Your programs should both compile using a single Makefile (i.e. the make command will compile both programs). Therefore, your Makefile will have at least four targets - all (which will be the uppermost target in the file), AsciiToBinary, BinaryToAscii, and clean (the last target in the file). The executable names do not need to conform to the standard naming conventions used for CS262. However, all directories and source files do need to adhere to these standards. Testing: Besides testing your code with your usual methods, you should also test your programs by reading an ASCII file, converting it to binary, then reading the binary file and converting it to ASCII. The new ASCII file should match exactly with the original ASCII file.
acsii_file.txt
https://www.dropbox.com/s/bwy86vpyozgq9xn/ascii_file.txt?dl=0
binary_file.bin
https://www.dropbox.com/s/5cujl5vob4ns1wf/binary_file.bin?dl=0
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started