1: // Filename: REVSTR2.CPP 2: // Purpose: Reads in a string and writes it out reversed. 4: #include <iostream> 6: void ReverseString(const char s[], char r[]) 7: // Pre: The string "s" has been initialized. 8: // Post: "r" contains the same characters as "s" 9: // but in reverse order. "s" is unchanged. 10: { 11: int sLength = strlen(s); 12: int i; 13: char temp; 14: r[sLength] = '\0'; 15: for (i = sLength-1; i >= 0; i--) 16: r[i] = s[sLength - 1 - i]; 17: } 20: int main() 21: { 22: cout << endl 23: << "This program reads in a string (the " 24: << "maximum length is 20 characters) and " << endl 25: << "and then prints out the string reversed." << endl 26: << endl; 27: cout << "So, enter any string of up to 20 characters: " << endl; 29: typedef char String20[21]; 30: String20 s; 31: String20 r; 32: cin.getline(s, 21, '\n'); 33: ReverseString(s, r); 35: cout << endl; 36: cout << "===== The string on the next line ... " << endl 37: << s << endl 38: << "===== when reversed, becomes:" << endl 39: << r << endl 40: << endl; 42: return 0; 43: }