Мне было интересно, как я могу разделить такие строки.
Например, у меня есть следующая строка: "80,8080,27001-27010,90"
Сначала я хочу разделить запятую, но если в этой подстроке есть минус, я хочу разделить ее и получить разницу между двумя числами, преобразовав их с помощью atoi(). Строка, которую я хочу разделить, представляет собой список портов, и я хочу создать массив целых чисел со всеми перечисленными портами. Функция strtok кажется не подходящей для этой проблемы, есть ли какое-нибудь простое решение для этого?
Пример использования strtok_r:
substr1 = strtok_r(portlist, delim1, &saveptr1);
while(substr1 != NULL){
substr2 = strtok_r(substr1, delim2, &saveptr2);
substr1 = strtok_r(NULL, delim2, &saveptr1);
}
strtok-function seems not suitable
... сообщите, почему? - person Sourav Ghosh   schedule 19.11.2014