text: #include <stdio.h>
  #include <stdbool.h>
  #include <stdlib.h>
  
  //char
  int dlugosc(char*);
  void wytnij(char*, int, int);
  bool porownaj(char*,char*,int);
  void wytnij2(char*,char*);
  //wchar_t
  int dlugosc2(wchar_t*);
  void wytnij3(wchar_t*, int, int);
  bool porownaj2(wchar_t*,wchar_t*,int);
  void wytnij4(wchar_t*,wchar_t*);
  int main()
  {
      char napis1[20],napis2[20];
      printf("Dla char\n");
      printf("Podaj napis1: ");
      gets(napis1);
      printf("Podaj napis2: ");
      gets(napis2);
  
      wytnij(napis1,3,5);
      wytnij2(napis1,napis2);
      printf("%s\n\n",napis1);
  
  //------------------------------------------------
  
      wchar_t napis3[20],napis4[20];
      wprintf(L"Dla wchar_t\n");
      wprintf(L"Podaj napis3: ");
      fflush(stdin);
      wscanf(L"%s",&napis3);
      wprintf(L"Podaj napis4: ");
      fflush(stdin);
      wscanf(L"%s",&napis4);
  
      wytnij3(napis3,3,5);
      wytnij4(napis3,napis4);
      printf("%s\n",napis3);
  
      return 0;
  }
  //char
  int dlugosc(char* napis)
  {
      int i =0;
      while(napis[i]!=0)
      {
          i++;
      }
      return i;
  }
  
  void wytnij(char*napis, int n, int m)
  {
      int dlug=dlugosc(napis);
      if (m<=dlug)
      {
          for(int i=0;i+m<dlug;i++)
          {
              napis[n+i]=napis[i+m+1];
          }
      }
      else if((n<dlug)&&(dlug+1<m))
      {
          napis[n]=0;
      }
  }
  bool porownaj(char*napis1,char*napis2,int n)
  {
      int i;
      for(i=0;napis1[i]!=0&&napis2[i]!=0;i++)
      {
          if(napis1[n+i]!=napis2[i])
          {
              return false;
          }
      }
      if(napis2[i]==0)
      {
          return true;
      }
      else
      {
          return false;
      }
  }
  void wytnij2(char*napis1,char*napis2)
  {
      int i,dl;
      for(dl=0;napis2[dl]!=0;dl++)
      for(i=0;napis1[i]!=0;i++)
      {
          if(porownaj(napis1,napis2,i))
          {
              wytnij(napis1,i,i+dl-1);
              return;
          }
      }
  
  }
  //----------------------------------------
  //wchar_t
  int dlugosc2(wchar_t* napis)
  {
      int i =0;
      while(napis[i]!=0)
      {
          i++;
      }
      return i;
  }
  
  void wytnij3(wchar_t*napis, int n, int m)
  {
      int dlug=dlugosc2(napis);
      if (m<=dlug)
      {
          for(int i=0;i+m<dlug;i++)
          {
              napis[n+i]=napis[i+m+1];
          }
      }
      else if((n<dlug)&&(dlug+1<m))
      {
          napis[n]=0;
      }
  }
  bool porownaj2(wchar_t*napis1,wchar_t*napis2,int n)
  {
      int i;
      for(i=0;napis1[i]!=0&&napis2[i]!=0;i++)
      {
          if(napis1[n+i]!=napis2[i])
          {
              return false;
          }
      }
      if(napis2[i]==0)
      {
          return true;
      }
      else
      {
          return false;
      }
  }
  void wytnij4(wchar_t*napis1,wchar_t*napis2)
  {
      int i,dl;
      for(dl=0;napis2[dl]!=0;dl++)
      for(i=0;napis1[i]!=0;i++)
      {
          if(porownaj2(napis1,napis2,i))
          {
              wytnij3(napis1,i,i+dl-1);
              return;
          }
      }
  
  }
  