_ABBRV - check for valid abbreviation.
(Not in the ANSI standard)
Usage:
#include <sdgstd.h>
score = _abbrv( pattern, string );
Where:
- char *pattern;
- points to a string that contains a word that may be abbreviated.
Letters that appear in upper case in the pattern MUST be present
in an abbreviation for the abbreviation to be valid.
Letters that appear in lower case may be omitted in a valid abbreviation.
Non-alphabetic characters except '_' in the pattern must always
be present in an abbreviation for the abbreviation to be valid.
- char *string;
- points to a string that may or may not be a valid abbreviation of the
given pattern.
When checking the validity of the abbreviation, "_abbrv" ignores whether
the letters of "string" are in upper or lower case.
- int score;
- indicates whether or not the abbreviation is valid.
Invalid abbreviations are given a score of -1; valid ones are
given a positive number that indicates how close the abbreviation
is to the actual word (see below for details).
The higher the score, the better the match.
Description:
"_abbrv" is used to determine if "string" is a valid abbreviation of "pattern".
A valid abbreviation is a string containing all the necessary (upper case)
characters in the correct order; other (lower case) characters in
the "pattern" may appear in the abbreviation, but characters
which are not in the "pattern" may not appear.
The score function (for a valid abbreviation) gives one
point for each lower case character matched.
The score function gives 1024 points for each upper case or non-alphabetic
character matched.
For the pattern "eXtract" (note the upper and lower cases) the following
results would be obtained.
string score
"x" 1024
"ex" 1025
"extr" 1027
"extrat" 1029
"xtrt" 1027
"extract" 1030
"e" -1
"tract" -1
"xtray" -1
Copyright © 2000, Thinkage Ltd.