insertionChaine.cpp
#include <iostream.h>
//------------------------------------------------------------------------------
unsigned longueurChaine(const char* chaine)
{
  unsigned longueur;
  for (longueur = 0; chaine[longueur] != '\0'; longueur++);
  return longueur;
}
//------------------------------------------------------------------------------
void insertionChaine(char *chaine, const char *insertion, unsigned position)
{
  unsigned nombre = longueurChaine(insertion);
  unsigned longueur = longueurChaine(chaine);

  //....... Décalage des caractères de la première chaîne ......................
  for (int i = 0; i<=longueur-position; i++)
    chaine[longueur+nombre-i] = chaine[longueur-i];

  //....... Insertion des caractères de la deuxième chaîne .....................
  for (int i = 0; i<nombre; i++)
    chaine[position+i] = insertion[i];
}
//------------------------------------------------------------------------------
int main( )
{
  char chaine[70], insertion[35];
  unsigned position, nombre;

  cout << "Insertion d'un chaîne dans une autre" << endl;
  cout << "-------------------------------------" << endl;
  cout << "Première chaîne : "; cin >> chaine;
  cout << "Deuxième chaîne : "; cin >> insertion;
  cout << "Position ? "; cin >> position;

  insertionChaine(chaine, insertion, position);

  cout << "Résultat : " << chaine << endl;
  return 0;
}
//------------------------------------------------------------------------------
insertionChaine.cpp