fork download
  1. #include <iostream>
  2. #include <getopt.h>
  3. using namespace std;
  4.  
  5. int fake_main(int argc, char *argv[])
  6. {
  7. int flagA = 0;
  8. int flagB = 0;
  9.  
  10. while (1) {
  11. char c;
  12.  
  13. c = getopt (argc, argv, "a:b:c:");
  14. if (c == -1) {
  15. break;
  16. }
  17. switch (c) {
  18. case 'a':
  19. flagA = 1;
  20. cout<<optarg<<endl;
  21. break;
  22. case 'b':
  23. flagB = 1;
  24. cout<<optarg<<endl;
  25. break;
  26. case 'c':
  27. cout<<optarg<<endl;
  28. break;
  29. case '?':
  30. default:
  31. cout<<"Usage: " << argv[0] << " [-a] [-b <something>].\n";
  32. }
  33. if(flagA > 0){
  34. //do something using the values of flagA and flagC
  35. }
  36. else if(flagB > 0){
  37. //do something using the values of flagB and flagC
  38.  
  39. }
  40. }
  41. return 0;
  42. }
  43.  
  44. int main (int argc, char *argv[])
  45. {
  46. int ac = 5;
  47. char *av[] = {
  48. argv[0], "-a", "5", "-c", "some thing", 0
  49. };
  50. return fake_main(ac, av);
  51. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
5
some thing