#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;
}
//------------------------------------------------------------------------------