hi, i'm workin on a lab for an intro to computer science class which deals with c++... one of the ten parts of it says the following

Read about the getline command for fetching an entire line from a input stream. Then make a text file of mixed words and numbers separated by commas. Write a function that takes an open stream as a parameter reads one line, and then prints each word or number from the line on a separate line (do not print any commas). Read five lines.

now i know how to use the getline command but i have no idea as to write the function that takes an open stream as a paramater ... here is my code from what i think i understood from the problem

#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;

int main(){

  ofstream fileWrittenInto;

    cout<<"error opening fileUsedHere.csv"<<endl;
  }//if open fileWrittenInto

  char c[20];
  fileWrittenInto << cin.getline(c,20);


  ifstream someFileIn;

    cout<< "error opening the file requested\n";

  return 0;

void somefunction(char * bs){//bs=open stream


For your problem, you need to use a file stream variable that's for reading. The ofstream is for writing.

Once you've successfully opened the reading file stream, you can pass it to a function like any other parameter - BUT - it must be passed by reference.

Your file stream variables are used in the same way that you've been using cin and cout - you don't use them together like you do in line 17.

Here is an example of how to pass an ofstream.

#include <fstream>
using namespace std;

void foo (ofstream& outs);

int main ()
    ofstream outs ("file.txt");
    outs << "one";
    foo (outs);
    outs << "three";
    outs.close ();
    return 0;
void foo (ofstream& outs)
     outs << "two";

Use more compact, fast and robust stream control in the last function:

void somefunction(istream& bs)
    string x;
    while (getline(bs,x,','))
        cout << x <<'\n';
This article has been dead for over six months. Start a new discussion instead.