#include <stdlib.h> int rpmatch(const char *response);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
rpmatch():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_SVID_SOURCE
response にはユーザーからの応答を格納したヌル終端文字列が入っている必要がある。 たいていは、 fgets(3) や getline(3) で取り込んだものであろう。
プログラムが setlocale(3) を呼び出して環境変数の変更を有効にした場合、 環境変数 LANG, LC_MESSAGES, LC_ALL が ユーザーの言語設定として考慮される。
ロケールに関わらず、ha[Yy] にマッチする応答は常に肯定だと解釈され、 ha[Nn] にマッチする応答は常に否定だと解釈される。
rpmatch() は、 regcomp(3) や regexec(3) が失敗する理由のどれかで失敗することがある。 エラーの原因を errno や他の何かで知ることはできないが、 errno は正規表現エンジンの失敗の原因を示している (但し、このケースと response の値を認識できずに失敗した場合を区別することはできない)。
インターフェース | 属性 | 値 |
rpmatch() | Thread safety | MT-Safe locale |
#define _SVID_SOURCE #include <locale.h> #include <stdlib.h> #include <string.h> #include <stdio.h>
int main(int argc, char *argv[]) {
if (argc != 2 || strcmp(argv[1], "--help") == 0) {
fprintf(stderr, "%s response\n", argv[0]);
exit(EXIT_FAILURE);
}
setlocale(LC_ALL, "");
printf("rpmatch() returns: %d\n", rpmatch(argv[1]));
exit(EXIT_SUCCESS); }
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]