omportamiento de @strtok_s con delimitadores consecutivos

Estoy analizando 3 valores en paralelo que están separados con un separador específico.

token1 = strtok_s(str1, separator, &nextToken1);
token2 = strtok_s(str2, separator, &nextToken2);
token3 = strtok_s(str3, separator, &nextToken3);

while ((token1 != NULL) && (token2 != NULL) && (token3 != NULL))
{
    //...
    token1 = strtok_s(NULL, separator, &nextToken1);
    token2 = strtok_s(NULL, separator, &nextToken2);
    token3 = strtok_s(NULL, separator, &nextToken3);
}

Suppose '-' es mi separador. El comportamiento es que una cadena sin separadores consecutivos:

1-2-3-45

resultaría efectivamente en cada una de estas partes:

1
2
3
45

Sin embargo, una cadena con dos separadores consecutivos:

1-2--3-45

no producirá una cadena de longitud 0, esa se omite para que el resultado sea:

1
2
3
45

y n

1
2

3
45

¿Qué solución o estrategia sería más adecuada para obtener todas las partes reales, incluidas las de 0? Me gustaría evitar volver a implementar strtok_s, si es posible.

Respuestas a la pregunta(4)

Su respuesta a la pregunta