Answer:
The code is implemented using C++
Step-by-step explanation:
#include <cctype>
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
void OpenFile(string fileName, ifstream& inFile);
void ReadFile(ifstream& inFile, string& fileData);
void ParseFile(string& fileData);
void OutputFile(string fileName, ofstream& outFile, string& fileData);
void main()
{
ifstream inFile;
ofstream outFile;
string fileData;
OpenFile("input.txt", inFile);
ReadFile(inFile, fileData);
ParseFile(fileData);
OutputFile("output.txt", outFile, fileData);
}
void OpenFile(string fileName, ifstream& inFile)
{
inFile.open(fileName);
if (inFile.fail())
{
cerr << "\\Unable to open file \"" << fileName << "\" for reading.\\";
exit(1);
}
}
void ReadFile(ifstream& inFile, string& fileData)
{
while (inFile.good())
{
fileData += inFile.get();
}
inFile.close();
//cout << endl << '[' << fileData[fileData.length()-1] << ']' << endl;
// Remove end of file character
fileData = fileData.substr( 0, fileData.length()-1 );
//cout << endl << '[' << fileData[fileData.length()-1] << ']' << endl;
//cout << endl << fileData << endl;
}
void ParseFile(string& fileData)
{
for(int i = 0; i < fileData.length(); i++)
{
if( fileData[i] == 'a' && isspace((int) fileData[i-1]) &&
( isspace((int) fileData[i+1]) || isalpha((int) fileData[i+1]) ) )
{
fileData[i] = 'A';
}
}
//cout << endl << fileData << endl;
}
void OutputFile(string fileName, ofstream& outFile, string& fileData)
{
outFile.open(fileName);
outFile << fileData;
outFile.close();
}