To remove characters '#' and '$' you can use standard algorithm std::remove_if. However take into account that if there is for example the following string "12#34" then after removing '#' you will ge "1234". If you need that the resulted string will look as "12 34" or "12:34" then instead of std::remove_if it is better to use std::replace_if.
Below there is a sample code that performs the task. You need to include headers
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
int main()
{
    char s[] = "102:$$330:#3133:76531:451:000:$12:44412";
    std::cout << s << std::endl;
    char *p = std::remove_if( s, s + std::strlen( s ), 
        []( char c ) { return ( c == '$' || c == '#' ); } );
    *p = '\0';
    std::cout << s << std::endl;
    const size_t N = 8;
    int a[N];
    p = s;
    for ( size_t i = 0; i < N; i++ )
    {
        a[i] = strtol( p, &p, 10 );
        if ( *p == ':' ) ++p;
    }
    for ( int x : a ) std::cout << x << ' ';
    std::cout << std::endl;
}
The output is
102:$$330:#3133:76531:451:000:$12:44412
102:330:3133:76531:451:000:12:44412
102 330 3133 76531 451 0 12 44412