¿Debes usar necesariamente esas cadenas? ¿No podrías trabajar con la biblioteca
time?
Si debes trabajar con las cadenas, lo que yo haría sería separar basándome en los ":", con eso, ya puedes realizar la resta entre elementos respectivos (horas - horas, minutos - minutos...).
O también, ya separado, lo conviertes a una estructura
tm y trabajas con las funciones de la
biblioteca time para restar. De ser posible, obtendría las horas directamente con funciones de esta biblioteca.
Suerte.