>>142
さすがにgets()はどうかと。
↓ぐらいにしとけや。

void get_string(char *p_str, int size)
{
    int c, i;
    for (i = 0; i < size-1 && (c = getchar()) != EOF && c != '\n'; ++i)
        p_str[i] = c;
    p_str[i] = '\0';
}