Usunięcie elementu z tablic charów

0

Witam dostałem za zadanie napisać program który usunie podany ciąg znaków przez uzytkownia z podanego wcześniej ciągu znaków także podanego przez użytkownika.
Naklepałem taki kodzik poniżej.
Problemem jest to że nie chcę dźwięku przy elemencie tablicy (improwizując dałem ''\7',ponieważ dane wyjsciowe maja tak wygladac lecz jest to znak specjalny który daje dźwięk) dając '\0' wypisywanie tablicy zatrzymuje się na tym elemencie ponieważ ten znak specjalny definiuje koniec tablicy,dajac spacje po prostu na danych wyjsciowych jest dziura.
Próbowałem funkcją erase ale ona działa tylko na stringach a zadanie polega na napisaniu programu w oparciu o tablice charów.

#include <iostream>
using namespace std;
int length(char tab[])
{

    int n,i;
    for(i=0;tab[i]!='\0';i++)
    n=i+1;
    return n;
}
main()
{   char s[256],s0[256];
    cout<<"Podaj ciag znakow s   ";
    cin.getline(s,256);
    cout<<endl<<"Podaj ciag znakow s0   ";
    cin.getline(s0,256);
    int ile_s=length(s)-1;
    int ile_s0=length(s0)-1;
    int licznik=length(s0)-1;
    char * wsk_s=s;
    for(int i=ile_s;i>=0;i--)
    {
            if(s[i]==s0[licznik])
            {
                if(licznik==0)
                {
                    for(int j=0;j<=ile_s0;j++)
                    {
                        wsk_s[i+j]='\7';
                    }
                    break;
                }
                licznik--;
            }
            else 
            {
            licznik=length(s0)-1;   

            }
        }
        cout<<wsk_s;
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0