Version 0 of bsearch

Updated 2002-05-21 13:14:55

bsearch is one of the many useful commands available in the Tclx extension.

     bsearch fileId key ?retvar? ?compare_proc?
          Search an opened file fileId containing lines of text sorted
          into ascending order for a match.  Key contains the string
          to match.  If retvar is specified, then the line from the
          file is returned in retvar, and the command returns 1 if key
          was found, and 0 if it wasn't.  If retvar is not specified
          or is a null name, then the command returns the line that
          was found, or an empty string if key wasn't found.

          By default, the key is matched against the first white-space
          separated field in each line.  The field is treated as an
          ASCII string.  If compare_proc is specified, then it defines
          the name of a Tcl procedure to evaluate against each line
          read from the sorted file during the execution of the
          bsearch command.  Compare_proc takes two arguments, the key
          and a line extracted from the file.  The compare routine
          should return a number less than zero if the key is less
          than the line, zero if the key matches the line, or greater
          than zero if the key is greater than the line.  The file
          must be sorted in ascending order according to the same cri-
          teria compare_proc uses to compare the key with the line, or
          erroneous results will occur.

          This command at one time did not work on files containing binary data (bytes of zero).


Category Command