1: // Filename: CSTR6.CPP 2: // Purpose: Reads and displays the lines from a textfile, pausing 3: // whenever a line of 80 dollar signs ($) is encountered. 5: #include <iostream> 6: #include <fstream> 7: using namespace std; 9: #include "PAUSE.H" 11: int main() 12: { 13: cout << "\nThis program asks the user for the name " 14: << "of a textfile and then displays the " << endl 15: << "lines from that file, pausing whenever " 16: << "it sees a line of 80 dollar signs ($). " << endl 17: << "Note that any such line of $ symbols " 18: << "is also actually displayed in the output. " << endl 19: << "Since all lines from the files are read " 20: << "in before being displayed, there is a " << endl 21: << "maximum number of lines (20) that the " 22: << "file can contain. " << endl << endl; 24: const int MAX_CHARS = 80; 25: const int MAX_LINES = 20; 26: typedef char LineType[MAX_CHARS+1]; 27: typedef LineType FileContentsType[MAX_LINES]; 29: ifstream inFile; 30: LineType fileName, line; 31: FileContentsType text; 32: int lineIndex = 0; 34: cout << "Enter name of file to display: "; 35: cin >> fileName; cin.ignore(80, '\n'); cout << endl; 37: inFile.open(fileName); 38: inFile.getline(line, MAX_CHARS+2); 39: while (inFile) 40: { 41: strcpy(text[lineIndex], line); 42: inFile.getline(line, MAX_CHARS+2); // Note the "+2". 43: if (inFile) lineIndex++; 44: } 45: inFile.close(); 47: int i; 48: char DOLLARS[MAX_CHARS+1] = ""; 49: for (i = 0; i < MAX_CHARS; i++) strcat(DOLLARS, "$"); 50: cout << "Here are the lines in the file " << fileName << ":\n"; 51: for (i = 0; i <= lineIndex; i++) 52: { 53: cout << text[i] << endl; 54: if (strcmp(text[i], DOLLARS) == 0) Pause(0); 55: } 56: Pause(0); cout << endl; 58: return 0; 59: }