Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 
Index Page
lx4uns_c

Table of contents
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

   lx4uns_c (Scan for unsigned integer) 

   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 `string' input string pointer is null, the error
       SPICE(NULLPOINTER) is 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)
   J. Diaz del Rio     (ODC Space)
   W.L. Taber          (JPL)

Version

   -CSPICE Version 1.0.1, 04-AUG-2021 (JDR)

       Edited the header to comply with NAIF standard.

   -CSPICE Version 1.0.0, 11-AUG-2002 (NJB) (WLT)

Index_Entries

   Scan a string for an unsigned integer.
Fri Dec 31 18:41:09 2021