I have read many textbooks and cannot find anything in common on this subject.
I wrote the following code to execute one function:
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
ifstream ReadFile( ifstream& openInputFile, string& sLine, int& chgLine );
int main()
{
int chgLine;
string MyFile, sLine,
sFile = "test.txt";
cout << "Enter a file: ";
cin >> MyFile ;
ifstream openInputFile;
if ( MyFile != sFile )
{
cout << "Error";
exit(0);
}
ReadFile( openInputFile, sLine, chgLine );
system("pause");
return 0;
}
ifstream ReadFile( ifstream& openInputFile, string& sLine, int& chgLine )
{
while ( getline ( openInputFile, sLine ) )
{
if ( sLine.length() == 0 ) continue;
for ( chgLine = 0; chgLine < sLine.length(); chgLine++ )
{
if ( sLine[chgLine] >= 97 && sLine[chgLine] <= 122 || sLine[chgLine] >= 65 && sLine[chgLine] <= 90 )
{
cout << sLine[chgLine];
}
}
}
}
But now I decided to break it all down into three functions that do what I want separately and then call them from the function main()
.
The first function opens the file:
#include <iostream>
#include <fstream>
using namespace std;
ifstream openInputFile()
{
ifstream *fp;
return openInputFile;
}
int main()
{
cout << "Hello, world!" << endl;
system("pause");
return 0;
}
I'm stuck trying to get the pointer back. I do not understand what I am doing wrong. How can I make the last bit of code work? And how to return a pointer with ifstream
if it has a function type?
source
share