CS221 File Output Using Special Formats
Dec 23, 2015
CS221
File Output
Using Special Formats
What is a File? A file is a collection of information The type of information in the file can differ
image, sound, video, text, web page, etc… Files are created, modified, and read by
programs File extensions help the user AND the
computer determine what type of information is in the file and what program is most suitable to use that file jpg, mp3, mpeg, txt, html, doc, xls, ppt, …
File Formats
You can write a C++ program which can read and write files using file streams
It is possible for your C++ program to read and write files which have special formats IF the programmer is aware of the format…
Thus, if you know the format of an HTML file, you can write a C++ program which will read OR create/write a web page!
HTML and CSV
These are special file formats which are based on plain text HTML is the format of Web Pages CSV is a format which can be used by MS Excel
We will learn how to make our C++ programs create files using these formats
MS Excel in Brief
Microsoft Excel is a Spreadsheet Program The spreadsheet consists of a grid of rows
and columns rows are numbered, columns are lettered
When a row and column meet, there is a cell cells are identified by their row and column A1, E5, C13, etc…
Cells can contain data (text or numeric) or formulas which act upon that data
MS Excel in Brief
Useful engineering aspects of Excel store and organize a moderate amount of data make calculations on that data make graphs to analyze data
Graphing in Excel
Store data in columns with labels at the top Select (click+drag) the data series you want
to graph Click the graph wizard button
follow simple directions to creat the graph you can make your graph “fancy”
axis labels, graph label, key, etc…
CSV Files
CSV stands for “comma separated value” CSV is a special file format Microsoft Excel can recognize and open CSV files Your C++ program can use a file output stream to
create CSV files
CSV Files
In a CSV file, Excel will read the text in the following way… each comma encountered in the file will move Excel to
the next cell in the current row each new line character (endl) encountered in the file
will move Excel to the next row
CSV Files Example
Using File Output with CSV You can output from your C++ code to a csv
file, then open that output file up in Excel and graph, calculate, etc… (as long as the format is correct)
Code to produce the preceding exampleofstream fileOut;
fileOut.open(“test.csv”);
fileOut << “Time,Velocity,Acceleration” <<endl;
fileOut << 1 << “,” << 2 << “,” << 3 << endl;
fileOut << 4 << “,” << 5 << “,” << 6 << endl;
fileOut << 7 << “,” << 8 << “,” << 9 << endl;
fileOut << “,,” << 10 << endl;
Web Browsers in Brief
Web Browsers are Special Programs which interpret Web Pages and display the results graphically Explorer, FireFox, etc…
Web Browsers give users the ability to access information which is stored in remote places and see it on their computer quickly and efficiently
Web Browsers in Brief
Useful engineering aspects of Web Browsers make data available to colleagues/the public present data to non-engineers in a familiar format
HTML Files
HTML stands for “HyperText Markup Language” HTML is a special file format Web Browsers can recognize and open HTML files Your C++ program can use a file output stream to
create HTML files
HTML Files
In an HTML file, the browser will read the text and produce a web page by interpreting “tags” each HTML tag tells the browser to do something
different with the data it is reading we will learn a VERY SMALL set of HTML tags for a complete list of HTML tags, see this link
http://www.w3schools.com/tags/
More About Tags Each HTML tag is enclosed in angle braces
<tag>
Many HTML tags must be accompanied by a closing/ending tag, which looks the same as its opening/beginning tag, but is marked by a slash
</tag>
Think of a tag set as a set of bookends, anything between the opening and closing tag is described by the tag set.
Some Important Tags
<html> - marks the beginning and end of the HTML file
<title> - tells the browser what to display as the page’s title
<body> - marks the beginning and end of the web page’s body (where the contents to be displayed are located
Some More Tags
<h1> - tells the browser that this text is a heading (can also have h2 through h6 for smaller sized headings)
<b> <i> <u> - tells the browser that this area of text is to be bold, underlined, and/or italic respectively
<p> - begin a new paragraph in the text
TableTags
<table border=“1”> - tells the browser to begin a table (if border is 1, show the border, if border is 0 don’t show it)
<tr> - start a new row in the table <td> - start a new data entry (cell) in the table
HTML Files Example
Using File Output with HTML You can output from your C++ code to an
html file, then open that output file up in a standard web browser as long as the format is correct.
Using File Output with HTMLofstream fileOut; //declare output file stream
fileOut.open(“test.html”); //open file, NOTE extension
fileOut << “<html>” <<endl; //begin html page
//output title tag
fileOut << “<title>Testing Results</title>” << endl;
//output heading
fileOut << “<h1>Results of Test Run 1</h1>” << endl;
fileOut << “<body>” << endl; //begin page body
//first paragraph
fileOut << “<p>These are the test results from “;
fileOut << “<b><u>Test Run 1.</b></u>” << endl;
//continued on next slide…
Code Continued…
//begin a table with visible border
fileOut << “<table border=\"1\">” << endl;
//output first table row (table header)
fileOut<<“<tr>”<<“<td>Min”<<“<td>Max”<<“<td>Reading”<<endl;
//output subsequent table rows with data in them
fileOut<<“<tr>”<<“<td>0”<<“<td>20”<<“<td>15”<<endl;
fileOut<<“<tr>”<<“<td>0”<<“<td>20”<<“<td>10”<<endl;
fileOut<< “</table>” << endl; //end the table
fileOut<< “</body>” << endl; //end page body
fileOut<< “</html>” << endl; //end html page