Index Index for
Section 3
Index Alphabetical
listing for R
Bottom of page Bottom of
page

rpmatch(3)

NAME

rpmatch - Determine whether a response is affirmative or negative

SYNOPSIS

#include <stdlib.h> int rpmatch( const char *response );

LIBRARY

Standard C Library (libc)

PARAMETERS

response User input entered in response to a question that requires an affirmative or negative answer.

DESCRIPTION

The rpmatch() function determines whether the string value of the response parameter matches the affirmative or negative response expression as specified by the LC_MESSAGES category in the program's current locale. Both response expressions, defined in the locale, may be extended regular expressions. A possible value of the affirmative expression, yesexpr, for a English- language locale is "^([yY]|[yY][eE][sS])". This expression will match any value of the response parameter that has consists of the letter Y (in uppercase or lowercase) or the letters YES (in any mixture of uppercase and lowercase letters).

RETURN VALUES

A value of 1 is returned if the string value of the response parameter is matched by the affirmative expression; a value of 0 (zero) is returned if the string value of the response parameter is matched by the negative expression. If neither expression matches the string value of the response parameter, a value of -1 is returned.

EXAMPLES

The following example requests a response from the user and uses the rpmatch() function to determine if the response is affirmative or negative. #include <stdlib.h> #include <stdio.h> #include <locale.h> #include <string.h> #define SLENGTH 80 main() { char str[SLENGTH], *eol; int ans; (void)setlocale(LC_ALL, " " ); printf("Do you want to perform this operation: "); fgets(str, SLENGTH, stdin); if ((eol = strchr(str, '\n')) != NULL) *eol = '\0'; /* Replace newline with null */ else return; /* Line entered too long */ ans = rpmatch(str); if (ans == 1) printf("You responded affirmatively\n"); else if (ans == 0) printf("You responded negatively\n"); else printf("Your answer did not match\n"); }

SEE ALSO

Commands: grep(1). Functions: regcomp(3), regexec(3), setlocale(3). Files: locale(4).

Index Index for
Section 3
Index Alphabetical
listing for R
Top of page Top of
page