Hello everyone, I have just started learning C++ and I am trying to write a program that reads from a file (scores.txt) and then prints the average of these numbers to the screen and print to another file named "average.txt." I have written some code but when I compile I keep getting an error with the following lines (undefined identifier 'print'):

print(cout, temp); // print to screen
print(fout, temp); // print to file

Any help or tips would be appreciated. Thanks!

Complete code:

#include <iostream>
#include <fstream>     // for file I/O
#include <cstdlib>     // for exit
using namespace std;

void copyFile(ifstream&, ofstream&);

int main ()
        ifstream in_stream;
        ofstream out_stream;


        // This code checks for failures
        if( in_stream.fail() || out_stream.fail())
                cout << "Error opening file... exiting..." << endl;
                // Exits the program

        double next, sum = 0;
        int count = 0;

        // The code continues until the end of the file is reached
                in_stream >> next;  // get next number
                sum = sum + next;   // keeps track of the sum

        // calculate and print average
        double average = sum / count;
        cout << "average = " << average;

        copyFile(in_stream, out_stream);

        // close both streams

        return 0;
void copyFile(ifstream &fin, ofstream &fout)
	char temp;

		// read in one char including spaces
		// and new lines!
		print(cout, temp);  // print to screen
		print(fout, temp);  // print to file

I've never used the print command to do what you are trying to do. I use cout>>temp; which could work.

Also, to print to the file, you can open a stream, and use it to print to a file.

ifstream read_file;
ofstream write_file;

ifstream is in file stream
ofstream is out file stream

write_file.open(partNum.c_str()); // will open a file for writing with file name

write_file<<partNum2; // will write any data you want to the scree.

Use cout to print it to the screen.

This article has been dead for over six months. Start a new discussion instead.