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 exists_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
       exists_c ( Does the file exist? )

       SpiceBoolean exists_c ( ConstSpiceChar  * fname )
#### Abstract
       Determine whether a file exists.
#### Required_Reading
       None.
#### Keywords
       FILES
#### Brief_I/O
       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       fname      I   Name of the file in question.

       The function returns the value SPICETRUE if the file exists,
       SPICEFALSE otherwise.
#### Detailed_Input
       fname       is the name of the file in question.This may be
                   any unambiguous file name valid on the user's
                   computer, for example

                      '/usr/dir1/dir2/DATA.DAT'
                      './DATA.DAT'
                      'c:\usr\dir1\dir2\data.dat'

                   Environment or shell variables may not be used.
#### Detailed_Output
       The function returns the value SPICETRUE if the file exists,
       SPICEFALSE otherwise.
#### Parameters
       None.
#### Exceptions
       1)  If the filename is blank, the error SPICE(BLANKFILENAME) is
           signaled by a routine in the call tree of this routine.

       2)  If an I/O error occurs while checking the existence of the
           indicated file, the error SPICE(INQUIREFAILED) is signaled by
           a routine in the call tree of this routine.

       3)  If the `fname' input string pointer is null, the error
           SPICE(NULLPOINTER) is signaled. The function returns the value
           SPICEFALSE.

       4)  If the `fname' input string has zero length, the error
           SPICE(EMPTYSTRING) is signaled. The function returns the value
           SPICEFALSE.
#### Files
       None.
#### Particulars
       Uses the f2c I/O libraries to implement the existence test.
#### Examples
       The numerical results shown for this example may differ across
       platforms. The results depend on the SPICE kernels used as
       input, the compiler and supporting libraries, and the machine
       specific arithmetic implementation.

       1) Given two arbitrary files (one of them the actual code example
          source file), determine if they exists.

          Example code begins here.

          /.
             Program exists_ex1
          ./
          #include <stdio.h>
          #include "SpiceUsr.h"

          int main( )
          {

             /.
             Local constants.
             ./
             #define FILEN        15

             /.
             Local variables.
             ./

             SpiceInt             i;

             /.
             Define an array of file names.
             ./
             SpiceChar            fname  [2][FILEN] = { "exists_ex1.txt",
                                                        "exists_ex1.prg" };

             for ( i = 0; i < 2; i++ )
             {

                if ( exists_c ( fname[i] ) )
                {

                   printf( "The file %s exists.\n", fname[i] );

                }
                else
                {

                   printf( "Cannot find the file %s\n", fname[i] );

                }

             }

             return ( 0 );
          }

          When this program was executed on a Mac/Intel/cc/64-bit
          platform, the output was:

          Cannot find the file exists_ex1.txt
          The file exists_ex1.prg exists.
#### Restrictions
       None.
#### Literature_References
       None.
#### Author_and_Institution
       N.J. Bachman        (JPL)
       J. Diaz del Rio     (ODC Space)
       K.R. Gehringer      (JPL)
#### Version
       -CSPICE Version 1.1.2, 13-AUG-2021 (JDR)

           Edited the header to comply with NAIF standard.
           Added complete code example.

           Added entries #3 and #4 to -Exceptions section.

       -CSPICE Version 1.1.1, 01-JUL-2014 (NJB)

           VAX examples were deleted from the header.

       -CSPICE Version 1.1.0, 08-FEB-1998 (NJB)

           References to C2F_CreateStr_Sig were removed; code was
           cleaned up accordingly. String checks are now done using
           the macro CHKFSTR_VAL.

       -CSPICE Version 1.0.0, 25-OCT-1997 (NJB) (KRG)

           Based on SPICELIB Version 2.1.0, 04-MAR-1996 (KRG)
#### Index_Entries
       does the file exist
#### Link to routine exists_c source file exists_c.c

    Fri Dec 31 18:41:06 2021