Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const char *mode;
- const char *device_path;
- const char *file_path;
- int bytes = 0;
- int position = 0;
- std::set<char> parms;
- for (int i = 1; i <= (argc - 1); i++)
- {
- if (std::string(argv[i]) == "-m")
- {
- if (mode != nullptr)
- {
- std::cerr << argv[i] << " overload!";
- return 1;
- }
- if ((i + 1) > (argc - 1))
- {
- std::cerr << "Incorrect parameter usage!\n";
- getchar();
- return 1;
- }
- mode = argv[i + 1];
- parms.insert('m');
- std::cout << "mode = " << mode << std::endl;
- getchar();
- }
- else if (std::string(argv[i]) == "-d")
- {
- if (device_path != nullptr)
- {
- std::cerr << argv[i] << " overload!";
- return 1;
- }
- if ((i + 1) > (argc - 1))
- {
- std::cout << "error, no value found";
- getchar();
- return 1;
- }
- device_path = argv[i + 1];
- parms.insert('d');
- std::cout << "device = " << device_path << std::endl;
- getchar();
- }
- else if (std::string(argv[i]) == "-f")
- {
- if (file_path != nullptr)
- {
- std::cerr << argv[i] << " overload!";
- return 1;
- }
- if ((i + 1) > (argc - 1))
- {
- std::cout << "error, no value found";
- getchar();
- return 1;
- }
- file_path = argv[i + 1];
- parms.insert('f');
- std::cout << "file = " << file_path << std::endl;
- getchar();
- }
- else if (std::string(argv[i]) == "-b")
- {
- if (bytes != 0)
- {
- std::cerr << argv[i] << " overload!";
- return 1;
- }
- if ((i + 1) > (argc - 1))
- {
- std::cout << "error, no value found";
- getchar();
- return 1;
- }
- try {
- bytes = std::stoi(argv[i + 1]);//, &sz);
- }
- catch (std::invalid_argument)
- {
- std::cerr << "invalid argument!";
- return 1;
- }
- catch (std::out_of_range)
- {
- std::cerr << "Number too big!";
- return 1;
- }
- parms.insert('b');
- std::cout << "bytes = " << bytes << std::endl;
- getchar();
- }
- else if (std::string(argv[i]) == "-p")
- {
- if (position != 0)
- {
- std::cerr << argv[i] << " overload!";
- return 1;
- }
- if ((i + 1) > (argc - 1))
- {
- std::cout << "error, no value found";
- getchar();
- return 1;
- }
- try {
- position = std::stoi(argv[i + 1]);//, &sz);
- }
- catch (std::invalid_argument)
- {
- std::cerr << "invalid argument!";
- return 1;
- }
- catch (std::out_of_range)
- {
- std::cout << "Number too big!";
- return 1;
- }
- parms.insert('p');
- std::cout << "position = " << position << std::endl;
- getchar();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement