Home   Introduction   Advanced   Manual   Examples  


Argtable Example Code


myprog.c is a simple program demonstrating various aspects of argtable.

   Usage: myprog [-lRv] [-k <int>] [-D MACRO]... [-o <output>] [--help] [--version] <file> [<file>]...

      -l, -L                    list files
      -R                        recurse through subdirectories
      -k, --scalar=<int>        define scalar value k (default is 3)
      -D, --define=MACRO        macro definitions
      -o <output>               output file (default is "-")
      -v, --verbose, --debug    verbose messages
      --help                    print this help and exit
      --version                 print version information and exit
      <file>                    input file(s)

echo.c implements the command line syntax of the GNU echo program.

   Usage: echo [-neE] [--help] [--version] [STRING]...

      -n              do not output the trailing newline
      -e              enable interpretation of the backslash-escaped characters listed below
      -E              disable interpretation of those sequences in <string>s
      --help          print this help and exit
      --version       print version information and exit

rm.c implements the command line syntax of the GNU rm program.

   Usage: rm [-dfirv] [--help] [--version] <file> [<file>]...

      -d, --directory         unlink file(s), even if it is a non-empty directory
                                (super-user only)
      -f, --force             ignore nonexistant files, never prompt
      -i, --interactive       prompt before any removal
      -r, -R, --recursive     remove the contents of directories recursively
      -v, --verbose           explain what is being done
      --help                  print this help and exit
      --version               print version information and exit

uname.c implements the command line syntax of the GNU uname program.

   Usage: uname [-asnrvmpio] [--help] [--version]

      -a, --all                 print all information, in the following order:
      -s, --kernel-name         print the kernel name
      -n, --nodename            print the node name
      -r, --kernel-release      print the kernel release
      -v, --kernel-version      print the kernel version
      -m, --machine             print the machine hardware name
      -p, --processor           print the processor type
      -i, --hardware-platform   print the hardware platform
      -o, --operating-system    print the operating system
      --help                    print this help and exit
      --version                 print version information and exit

mv.c implements the command line syntax of the GNU mv program.

   Usage: mv [-bfiuv] [--backup=[CONTROL]] [--reply={yes,no,query}] [--strip-trailing-slashes] [-S SUFFIX]
             [--target-directory=DIRECTORY] [--help] [--version] SOURCE [SOURCE]... DEST|DIRECTORY

      --backup=[CONTROL]             make a backup of each existing destination file
      -b                             like --backup but does not accept an argument
      -f, --force                    do not prompt before overwriting
                                       equivalent to --reply=yes
      -i, --interactive              Prompt before overwriting
                                       equivalent to --reply=yes
      --reply={yes,no,query}         specify how to handle the prompt about an
                                       existing destination file
      --strip-trailing-slashes       remove any trailing slashes from each SOURCE argument
      -S, --suffix=SUFFIX            override the usual backup suffix
      --target-directory=DIRECTORY   move all SOURCE arguments into DIRECTORY
      -u, --update                   copy only when the SOURCE file is newer
                                       than the destination file or when the
                                       destination file is missing
      -v, --verbose                  explain what is being done
      --help                         display this help and exit
      --version                      display version information and exit

ls.c implements the command line syntax of the GNU ls program.

   Usage: ls [-aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX1] [--author] [--block-size=SIZE] [--color=[WHEN]]
             [--format=WORD] [--full-time] [--si] [--dereference-command-line-symlink-to-dir]
             [--indicator-style=WORD] [-I PATTERN] [--show-control-chars] [--quoting-style=WORD]
             [--sort=WORD] [--time=WORD] [--time-style=STYLE] [-T COLS] [-w COLS] [--help]
             [--version] [FILE]...
 
      -a, --all                 do not hide entries starting with .
      -A, --almost-all          do not list implied . and ..
      --author                  print the author of each file
      -b, --escape              print octal escapes for nongraphic characters
      --block-size=SIZE         use SIZE-byte blocks
      -B, --ignore-backups      do not list implied entries ending with ~
      -c                        with -lt: sort by, and show, ctime (time of last
                                  modification of file status information)
                                  with -l: show ctime and sort by name
                                  otherwise: sort by ctime
      -C                        list entries by columns
      --color=[WHEN]            control whether color is used to distinguish file
                                  types.  WHEN may be `never', `always', or `auto'
      -d, --directory           list directory entries instead of contents,
                                  and do not dereference symbolic links
      -D, --dired               generate output designed for Emacs' dired mode
      -f                        do not sort, enable -aU, disable -lst
      -F, --classify            append indicator (one of */=@|) to entries
      --format=WORD             across -x, commas -m, horizontal -x, long -l,
                                  single-column -1, verbose -l, vertical -C
      --full-time               like -l --time-style=full-iso
      -g                        like -l, but do not list owner
      -G, --no-group            inhibit display of group information
      -h, --human-readable      print sizes in human readable format (e.g., 1K 234M 2G)
      --si                      likewise, but use powers of 1000 not 1024
      -H, --dereference-command-line follow symbolic links listed on the command line
      --dereference-command-line-symlink-to-dir follow each command line symbolic link
                                  that points to a directory
      --indicator-style=WORD    append indicator with style WORD to entry names:
                                  none (default), classify (-F), file-type (-p)
      -i, --inode               print index number of each file
      -I, --ignore=PATTERN      do not list implied entries matching shell PATTERN
      -k                        like --block-size=1K
      -l                        use a long listing format
      -L, --dereference         when showing file information for a symbolic
                                  link, show information for the file the link
                                  references rather than for the link itself
      -m                        fill width with a comma separated list of entries
      -n, --numeric-uid-gid     like -l, but list numeric UIDs and GIDs
      -N, --literal             print raw entry names (don't treat e.g. control
                                  characters specially)
      -o                        like -l, but do not list group information
      -p, --file-type           append indicator (one of /=@|) to entries
      -q, --hide-control-chars  print ? instead of non graphic characters
      --show-control-chars      show non graphic characters as-is (default
                                  unless program is `ls' and output is a terminal)
      -Q, --quote-name          enclose entry names in double quotes
      --quoting-style=WORD      use quoting style WORD for entry names:
                                  literal, locale, shell, shell-always, c, escape
      -r, --reverse             reverse order while sorting
      -R, --recursive           list subdirectories recursively
      -s, --size                print size of each file, in blocks
      -S                        sort by file size
      --sort=WORD               extension -X, none -U, size -S, time -t, version -v,
                                  status -c, time -t, atime -u, access -u, use -u
      --time=WORD               show time as WORD instead of modification time:
                                  atime, access, use, ctime or status; use
                                  specified time as sort key if --sort=time
      --time-style=STYLE        show times using style STYLE:
                                  full-iso, long-iso, iso, locale, +FORMAT
                                FORMAT is interpreted like `date'; if FORMAT is
                                FORMAT1<newline>FORMAT2, FORMAT1 applies to
                                non-recent files and FORMAT2 to recent files;
                                if STYLE is prefixed with `posix-', STYLE
                                takes effect only outside the POSIX locale
      -t                        sort by modification time
      -T, --tabsize=COLS        assume tab stops at each COLS instead of 8
      -u                        with -lt: sort by, and show, access time
                                  with -l: show access time and sort by name
                                  otherwise: sort by access time
      -U                        do not sort; list entries in directory order
      -v                        sort by version
      -w, --width=COLS          assume screen width instead of current value
      -x                        list entries by lines instead of by columns
      -X                        sort alphabetically by entry extension
      -1                        list one file per line
      --help                    display this help and exit
      --version                 display version information and exit

multisyntax.c demonstrates the use of multiple command line syntaxes.

   Usage: multisyntax [-nvR] insert <file> [<file>]... [-o <output>]
          multisyntax [-nv] remove <file>
          multisyntax [-v] search <pattern> [-o <output>]
          multisyntax [--help] [--version]

      -n                   take no action
      -v, --verbose        verbose messages
      -R                   recurse through subdirectories
      <file>               input file(s)
      -o <output>          output file (default is "-")
      <pattern>            search string
      --help               print this help and exit
      --version            print version information and exit


hasoptvalue.c demonstrates command line options that take optional values (eg: --bar=[<int>]).

   Usage: hasoptvalue -f  [-f <int>] [-f <int>] -b [<int>] [-b [<int>]] [-b [<int>]]
                      [--help] [--version]

      -f, --foo=<int>           takes an integer value (defaults to 9)
      -b, --bar=[<int>]         takes an optional integer value (defaults to 5)
      --help                    print this help and exit
      --version                 print version information and exit

callbacks.c demonstrates the use of argtable callback functions.

   Usage: callbacks  <int> <int> [<int>]...

      where <int> must be an even number of non-zero integer values that sum to 100

argcustom.c, argxxx.c, argxxx.h demonstrate a user-defined argtable data type.

   Usage: argcustom <scalar> [-x <double>] [-y <double>]... [--help]
  
      <scalar>            <double> value in range [0.0, 1.0]
      -x <double>         x coeff in range [-1.0, 1.0]
      -y <double>         y coeff in range [0.5, 0.9]
      --help              print this help and exit


SourceForge Logo

This site hosted by sourceforge.net