Ничего стандартного, но очень легко написать:
char *char_range(char begin, char end)
{
size_t len = end - begin + 1;
char *arr = malloc(len + 1);
if (arr)
{
size_t i;
for (i = 0; i < len; ++i)
arr[i] = (char)(begin + i);
arr[len] = '\0';
}
return arr;
}
Поскольку это генерирует диапазон на основе порядкового значения символов, технически это зависит от платформы. Тем не менее, поскольку ASCII и Unicode в значительной степени являются языком общения большинства современных ОС в наши дни, вы можете звонить, например:
char *lower_case = char_range('a', 'z');
char *numbers = char_range('0', '9');