Write a program in C++ that reads text from the keyboard and stores it in a file named “File1.txt”. Also, for each of the specified prototypes given below, write the function definitions.
void copyselc(ifstream& fp, ofstream& fp1):This function reads the contents of the file “File1.txt” and copies those lines from the file that begin with the character „#‟ to the file named “File2.txt”.
void checksize(ifstream& fp1,ifstream& fp2):This function reads two files “File1.txt” and “File2.txt” and counts the number of characters in both the files. If the count of characters in both the files is same, then the function should print the message “Both Files are of the same size” else it should display “Size of the files is not same”.
void dispNumNames(ifstream& fp):Assuming that the file “File2.txt” may also contain numbers (1 to 5), this function will read the contents from the file and display the number names for any numbers encountered.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void copyselc(ifstream& fp, ostream& fp1) {
string line;
while (getline(fp, line)) {
if (line[0] == '#') {
fp1 << line << endl;
}
}
}
void checksize(ifstream& fp1, ifstream& fp2) {
fp1.seekg(0, fp1.end);
int length1 = fp1.tellg();
fp2.seekg(0, fp2.end);
int length2 = fp2.tellg();
if (length1 == length2) {
cout << "Both Files are of the same size" << endl;
}
else {
cout << "Size of the files is not same" << endl;
}
}
void dispNumNames(ifstream& fp) {
char ch, ch2;
while (fp.get(ch)) {
switch (ch) {
case '1':
cout << "one" << endl;
break;
case '2':
cout << "two" << endl;
break;
case '3':
cout << "three" << endl;
break;
case '4':
cout << "four" << endl;
break;
case '5':
cout << "five" << endl;
break;
}
}
}
int main() {
ofstream fout("File1.txt");
string line;
while (cin) {
getline(cin, line);
fout << line << endl;
}
fout.close();
fout.open("File2.txt");
ifstream fin1("File1.txt");
copyselc(fin1, fout);
fin1.close();
fout.close();
fin1.open("File1.txt");
ifstream fin2("File2.txt");
checksize(fin1, fin2);
fin1.close();
fin2.close();
fin1.open("File2.txt");
dispNumNames(fin1);
fin1.close();
return 0;
}
Comments
Leave a comment