/* kstrmatch.c * 文字列マッチの例 * apr_strmatch_precompile / apr_strmatch */ #define USAGE "Usage: kstrmatch \n" #include "apr_general.h" #include "apr_file_io.h" #include "apr_strmatch.h" #include "mystab.h" int apr_my_main (int ac, char **av, apr_file_t * astdin, apr_file_t * astdout, apr_file_t * astderr, apr_pool_t * pool) { if (ac < 2) { apr_file_printf(astderr, USAGE); goto _ERROR_; } /* apr_strmatch_precompile / apr_strmatch * INCLUDE apr_strmatch.h * LIB libapr-1.lib / libaprutil-1.lib */ { const apr_strmatch_pattern *p; const char *str = av[1]; const char *pattern = av[2]; const char *r; p = apr_strmatch_precompile(pool, pattern, 0); if (NULL != (r = apr_strmatch(p, str, strlen(str)))) { apr_file_printf(astdout, "Matched.\nposition=[%d]\nmatched str=[%s].\n", r-str, r); } else { apr_file_printf(astdout, "Not matched.\n"); } } apr_file_printf(astdout, "\ndone.\n"); return 0; /* 正常終了 */ _ERROR_: apr_file_printf(astderr, "\nfailed.\n"); return 1; /* 異常終了 */ }