سورس تابع INSSTR

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int lenstr(char str[]);
void cpystr(char str1[], char str2[]);
void insstr(char str1[], char str2[], int pos);
void main (void)
{
   char str1[256],str2[256];
    int pos;
   cout<< "Enter string1: ";
   gets(str1);
   cout<< "Enter string2: ";
   gets(str2);
   cout<< "Enter position to Insert: ";
   cin >> pos;

   insstr(str1, str2, pos);

    cout << "\n Str1: " << str1;
   getch();
}
int lenstr(char str[])
{
   int i=0;
   while (str[i])
       i++;

   return(i);
}
void insstr(char str1[], char str2[], int pos)
{
    char str3[256];
    int i;
   for(i=0; i<pos; i++)
            str3[i]=str1[i];
   for(i=pos; i<pos+lenstr(str2); i++)
            str3[i]=str2[i-pos];
   for(i=pos; i<=lenstr(str1); i++)
            str3[i+lenstr(str2)]=str1[i];

   cpystr(str3,str1);
}
void cpystr(char str1[], char str2[])
{
    for(int i=0; i<lenstr(str1); i++)
            str2[i]=str1[i];
   str2[lenstr(str1)]='\0';
}