GetLTKey Search index file for entry less than target. Short Name LTKEY() Type Low-level index file function Declaration LONG GetLTKey(COUNT keyno, pVOID target, pVOID idxval) Description GetLTKey() searches index file keyno for the last entry that is strictly less than the key value pointed to by target. If such an entry exists, it is copied into the area pointed to by idxval. Return If GetLTKey() is successful, it returns the data record position associated with the entry found in the index. If an error occurs or no such entry exists, (either the index is empty or the target key value is smaller than all entries in the index), GetLTKey() returns a zero. When GetLTKey() returns a zero, check the value of uerr_cod: if uerr_cod is non-zero, an error condition was detected; otherwise, no key value satisfied the search. See “c-tree Plus Error Codes” in the c-tree Plus Programmer’s Reference Guide for a complete listing of valid c-tree Plus error values. Example COUNT keyno; TEXT target[24], idxval[24]; pTEXT suffix;
* last four bytes are for the suffix. */ scanf("%19s",target);
suffix = target + 20; /* pointer to the last four bytes */ for (i = 0;i++ < 4;) /* set suffix to highest possible */ *suffix++ = C255; /* value */ if (GetLTKey(keyno,target,idxval)) printf("\nthe key value >= %.19s is %.19s", target, idxval);
Limitations No check is made to determine if idxval points to a region sufficiently large to accept a key value from the index file. If the area is too small, either code or data will be clobbered. Note: The key value returned by this function will be a properly formatted key value (i.e., HIGH_LOW order, forced to upper case, etc.). The main issue this presents is if binary key values will be displayed on a LOW_HIGH machine, it will be necessary to reverse any numeric segments. The recbyt parameter in this function is a 4-byte value capable of addressing at most 4 gigabytes. If your application supports HUGE files (greater than 4 gigabytes), you must use the ctSetHgh() and ctGetHgh() functions to set or get the high order 4 bytes of the file offset. See also GetKey(), GetGTEKey(), GetGTKey(), GetLTEKey() |
|||