My c code will not compile and I have no idea why Can someon
My c++ code will not compile and I have no idea why. Can someone help me?
/*This program will convert a
 c++ txt file to html ready format*/
#include <iostream>
 #include <fstream>
using namespace std;
   void convert(ifstream inStream, ofstream outStream){
   
    char ch;
    string filename;
  
    inStream.open(\"pre-html.txt\");
   
        if(inStream.fail()){
            cout << \"File failed to open\";
            exit(1);
        }
       
   
   
    cout<< endl << \"Enter the name of the new file\" << endl;
    cin >> filename;
   
    filename = filename + \".html\";
   
    outStream.open(filename.c_str());
   
    //writes <PRE> to the new file
    outStream << \"<PRE>\";
   
   
    //reads the data from the file till the end
    //converts the specified characters to new ones
    //writes the data to a new file of type .html
    while(inStream >> ch){
        cout << ch;
       
        if(ch == \'<\'){
        outStream << \"<\";
        }
       
        else if(ch == \'>\'){
            outStream << \">\";
        }
       
        else(outStream << ch);
    }
   
    outStream << \"</PRE>\" << endl;
   
    inStream.close();
    outStream.close();
 }
int main(){
   
    //create the i/o class objects
    ifstream inStream;
    ofstream outStream;
   
    //call the method convert
    convert(inStream, outStream);
 }
Solution
Hi, you need to pass stream class object : \"by reference\".
Please find my corrected code:
#include <iostream>
 #include <fstream>
 using namespace std;
void convert(ifstream &inStream, ofstream &outStream){
   
 char ch;
 string filename;
   
 inStream.open(\"pre-html.txt\");
   
 if(inStream.fail()){
 cout << \"File failed to open\";
 exit(1);
 }
   
   
   
 cout<< endl << \"Enter the name of the new file\" << endl;
 cin >> filename;
   
 filename = filename + \".html\";
   
 outStream.open(filename.c_str());
   
 //writes <PRE> to the new file
 outStream << \"<PRE>\";
   
   
 //reads the data from the file till the end
 //converts the specified characters to new ones
 //writes the data to a new file of type .html
 while(inStream >> ch){
 cout << ch;
   
 if(ch == \'<\'){
 outStream << \"<\";
 }
   
 else if(ch == \'>\'){
 outStream << \">\";
 }
   
 else(outStream << ch);
 }
   
 outStream << \"</PRE>\" << endl;
   
 inStream.close();
 outStream.close();
 }
 int main(){
   
 //create the i/o class objects
 ifstream inStream;
 ofstream outStream;
   
 //call the method convert
 convert(inStream, outStream);
 }



