#include #include using namespace std; // version const char* versinfo = "Grim 0.0.1"; // improved argument handling thanks to arvind int main (int argc, char **argv) { // temporarily put here ofstream messagefile ("messages.txt", ios::app); ifstream messagefile2 ("messages.txt"); for (int i = 1; i < argc; i++) { // For each argument ... if (argv[i][0] == '-') { // Only if it's an option (starts with -) switch (argv[i][1]) { // Check char after "-". case 'c': cout << "Option C! "<< endl; if (argc > i + 1) { cout << "Argument: " << argv[i + 1] << endl; i++; } else { cout << "Expected argument. Found none." << endl; } break; case 'w': cout << "Message: "; char wholemsg[1000]; cin.getline(wholemsg, 1000); if (messagefile.is_open()) { messagefile << wholemsg << "\n"; messagefile.close(); } cout << "Added." << endl; break; case 'r': char buffer[1000]; if (! messagefile2.is_open()) { cout << "Error opening file"; exit (1); } while (! messagefile2.eof() ) { messagefile2.getline (buffer,100); cout << buffer << endl; } break; default: cout << "Unknown argument: " << argv[i][1] << endl; break; } } else { cout << "Extra arg: " << argv[i] << endl; } } return (0); }