Advertisement
alansam

Handling program arguments with C++ 20

Dec 25th, 2023 (edited)
1,031
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | Software | 0 0
  1. #if __cplusplus < 202000L
  2. # error "Requires C++ 20"
  3. #endif
  4.  
  5. #include <iostream>
  6. #include <span>
  7. #include <algorithm>
  8.  
  9. int main(int argc, char const * argv[]) {
  10.   std::cout << "C++ Version: " << __cplusplus << '\n';
  11.  
  12.   // span all arguments
  13.   auto allargs = std::span<char const *>(argv, argc);
  14.   for (auto const arg : allargs) {
  15.     std::cout << arg << '\n';
  16.   }
  17.   std::cout.put('\n');
  18.  
  19.   // discard argv[0]
  20.   auto args = allargs.last(argc - 1);
  21.   std::for_each(args.begin(), args.end(), [](auto const arg) {
  22.     std::cout << arg << '\n';
  23.   });
  24.   std::cout.put('\n');
  25.  
  26.   return 0;
  27. }
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement