Here is a brief discription of the books programming project I am trying to do...
Write a program that reads in a C++ source file and converts all ‘<’ symbols to “<” and all ‘>’ symbols to “>” . Also add the tag
<PRE>to the beginning of the file and</PRE>to the end of the file. This tag preserves whitespace and formatting in the HTML document. Your program should create a new file with the converted output. To implement this, you should write a function ‘convert’ that takes the input and output streams as parameters.
I am having issues trying to get the program to work correctly. What's happening is the program will create a new file with .html but it is not converting anything in the file. (i.e. adding <PRE> to the beginning and </PRE> to the end and converting all '<' symbols to < and '>' to >).
I've been messing with it for a while now and I'm honestly not sure where I am going wrong. I'm super new to programming in general and even more new to c++ so please be nice haha.
Here is my code, any help is greatly appreciated!!
Thanks!
Scott
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <cstdlib>
using namespace std;
//     main function
int main() {
    // Input file to convert
    string filename;
    // Output file with .html on the end
    string outputname;
    char c;
    int i;
    ifstream inStream;
    ofstream outStream;
    cout << "Enter filename you woudl like to convert: " << endl;
    cin >> filename;
    // Open the input file
   inStream.open(filename.c_str());
   if (inStream.fail()) {
       cout << "I/O failure opening file." << endl;
       exit(1);
   }
  // Create the output file
  outputname = filename + ".html";
  outStream.open(outputname.c_str());
  // First, output the <PRE> tag
  outStream << "<PRE>" << endl;
  // Loop through the input file intil nothing else to get
  while (!inStream.eof()) {
        inStream.get(c);    // Get one character
        // Output < or > or original char
      if (c == '<') {
          outStream << "<";
      }
      else if (c=='>') {
          outStream << ">";
      }
      else outStream << c;
  }
  // Output end /PRE tag
  outStream << "</PRE>" << endl;
  inStream.close();
  outStream.close();
  cout << "Conversion done.  Results are in file " << outputname << endl;
 }
 
    