C - диапазон символов в строке - PullRequest
1 голос
/ 27 мая 2010

Есть ли функция для получения диапазона символов в текстовой строке или мне нужно создать свой собственный?

Ответы [ 2 ]

6 голосов
/ 27 мая 2010

что-то вроде этого может помочь

#include <string.h>
#include <stdlib.h>

main(){
  const char* from = "12345678";
  char *to = (char*) malloc(6);
  strncpy(to, from+2, 5);
}

РЕДАКТИРОВАТЬ : источник

0 голосов
/ 27 мая 2010

Ничего стандартного, но очень легко написать:

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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...