posr_c |
Table of contents
Procedureposr_c ( Position of substring, reverse search ) SpiceInt posr_c ( ConstSpiceChar * str, ConstSpiceChar * substr, SpiceInt start ) AbstractFind the first occurrence in a string of a substring, starting at a specified location, searching backward. Required_ReadingSCANNING KeywordsCHARACTER SEARCH UTILITY Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- str I Any character string. substr I Substring to locate in the character string. start I Position to begin looking for substr in str. The function returns the index of the last occurrence of substr in str at or preceding index start. Detailed_Inputstr is any character string. substr is a substring to look for in str. Spaces in substr are significant, including trailing blanks. start is the position in str to begin looking for substr. start may range from 0 to n-1, where n is the number of characters in str. Detailed_OutputThe function returns the index of the beginning of the last substring of str that begins at or before index start and is equal to substr. If the substring cannot be found after start, the function is returns -1. ParametersNone. Exceptions1) If `start' is less than 0, posr_c returns -1. 2) If `start' is greater than strlen(str), the search begins at the last character of the string. 3) If any of the `str' or `substr' input string pointers is null, the error SPICE(NULLPOINTER) is signaled. The function returns the value -1. 4) If any of the `str' or `substr' input strings has zero length, the function returns the value -1. This case is not considered an error. FilesNone. Particularsposr_c is case sensitive. An entire family of related CSPICE routines cpos_c cposr_c ncpos_c ncposr_c pos_c posr_c is described in the Required Reading. ExamplesLet string == "AN ANT AND AN ELEPHANT " 012345678901234567890123456789 Normal (Sequential) Searching: ------------------------------ posr_c ( STRING, "AN", 29 ) == 19 posr_c ( STRING, "AN", 18 ) == 11 posr_c ( STRING, "AN", 10 ) == 7 posr_c ( STRING, "AN", 6 ) == 3 posr_c ( STRING, "AN", 2 ) == 0 start out of bounds: -------------------- posr_c ( STRING, "AN", -6 ) == -1 posr_c ( STRING, "AN", -1 ) == -1 posr_c ( STRING, "AN", 30 ) == 19 posr_c ( STRING, "AN", 43 ) == 19 Significance of Spaces: ----------------------- posr_c ( STRING, "AN", 29 ) == 19 posr_c ( STRING, " AN", 29 ) == 10 posr_c ( STRING, " AN ", 29 ) == 10 posr_c ( STRING, " AN ", 9 ) == -1 posr_c ( STRING, " AN ", 29 ) == -1 RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.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, 15-AUG-2002 (NJB) (WLT) Index_Entriesposition of substring reverse search |
Fri Dec 31 18:41:10 2021