char *get_include_file_name(char *in_str, char *out_str)
{
    char *p = strstr(in_str, "#include <");
    if(!p) return 0;
    strcpy(out_str, p + strlen("#include <"));
    char *q = out_str + strlen(out_str) - 1;
    if(*q != '>') return 0;
    *q = '\0';
    return out_str;
}

in_strが
#include <stdio.h>
という形式なら<>の中を抜き出してout_strに返すというコードなんですが
if in_str =~ /^#include <(.*)>$"/ then return $1 else return nil end
みたいな感じにもっと手っ取り早い表記ってないんですかね。