Index Page lx4uns_c
A B C D E F G H I J K L M N O P Q R S T U V W X
Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries
#### Procedure
       void lx4uns_c ( ConstSpiceChar   * string,
                       SpiceInt           first,
                       SpiceInt         * last,
                       SpiceInt         * nchar  )
#### Abstract
       Scan a string from a specified starting position for the
       end of an unsigned integer.
#### Required_Reading
       None.
#### Keywords
       PARSING
#### Brief_I/O
       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       string     I   Any character string.
       first      I   First character to scan from in string.
       last       O   Last character that is part of an unsigned integer.
       nchar      O   Number of characters in the unsigned integer.
#### Detailed_Input
       string      is any character string.

       first       is the location in the string to beginning scanning
                   for an unsigned integer.  It is assumed that the
                   unsigned integer begins at first.

                   The normal range of first is 0 : strlen(string)-1.
#### Detailed_Output
       last        is the last character at or after first such that the
                   substring ranging from string[first] through
                   string[last] is an unsigned integer.  If there is no such
                   substring, last will be returned with the value first-1.

                   If an unsigned integer is found, last will be in the
                   range is 0 : strlen(string)-1.

       nchar       is the number of characters in the unsigned integer that
                   begins at index first and ends at last.  If there is no
                   such string nchar will be given the value 0.
#### Parameters
       None.
#### Exceptions
       1) If first is beyond either end of the string, then
          last will be returned with the value first-1 and nchar
          will be returned with the value 0.

       2) If string[first] is not part of an unsigned integer then last
          will be returned with the value first-1 and nchar will be
          returned with the value 0.

       3) If the input string pointer is null, the error SPICE(NULLPOINTER)
          will be signaled.

       4) If the input string has length zero, last will be set to first-1
          and nchar will be set to zero.  This case is not considered an
          error.
#### Files
       None.
#### Particulars
       This routine allows you to scan forward in a string to locate an
       unsigned integer that begins on the input character first. An
       unsigned integer is simply a sequence of digits.
#### Examples
       1) Suppose you believe that a string has the form

             X%Y%Z

          where X, Y, and Z are unsigned integers of some unknown
          length and % stands for some non-digit character. You could
          use this routine to locate the unsigned integers in the
          string as shown below.  We'll keep track of the beginning and
          ending of the unsigned integers in the integer arrays b and e.

             #include <string.h>
             #include "SpiceUsr.h"

                   .
                   .
                   .

             first = 0;
             i     = 0;
             len   = strlen(string);

             while ( first < len-1 )
             {
                lx4uns_c ( string, first, &last, &nchar );

                if ( nchar > 0 )
                {
                   i++;

                   b[i]  = first;
                   e[i]  = last;
                   first = last  +  2;
                }
                else
                {
                   first++;
                }
             }
#### Restrictions
       None.
#### Literature_References
       None.
#### Author_and_Institution
       N.J. Bachman    (JPL)
       W.L. Taber      (JPL)
#### Version
       -CSPICE Version 1.0.0, 11-AUG-2002 (NJB) (WLT)
#### Index_Entries
       Scan a string for an unsigned integer.
#### Link to routine lx4uns_c source file lx4uns_c.c

    Wed Apr  5 17:54:38 2017