| Mòdul
  6
 | 
Fonaments de
  Programació. Llenguatge C/C++ | 
| Pràctica  | 
| Pràctica
  d'ampliació  | 
| 
Inserir un text
 En aquesta pràctica implementarem la funció d'inserir una cadena en una altra. 
  | 
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
Desenvolupament de la pràctica
 Creeu un nou arxiu del tipus C anomenat m6p05.c i escriviu el següent codi: 
 Explicació del programa En aquest programa s'implementa la funció inserir que té el protocol: char *inserir(char *cad1, int n, char *cad2) Aquesta funció insereix una cadena en una posició determinada d'una altra cadena. Per exemple, si la cadena cad1 conté: "Això és una prova" i la cadena cad2 conté: "no ", la funció inserir(cad2,5, cad1) farà que cad1 sigui: "Això no és una prova": 
 La inserció es fa en dues fases: la primera fase desplaça els caràcters de cad1 que hi ha després de la posició n un nombre de posicions igual a la mida de la cadena cad2 (pos) 
 La segona fase reemplaça els caràcters de les posicions n i següents de la cadena cad1 per la cadena cad2. 
 En la següent figura es mostra les dues fases d'aquesta inserció: 
 
 
 Aquesta funció no fa comprovació de límits. En el cas que la suma de les mides de cad1 i cad2 fos superior a la mida màxima de cad1 es produiria un error en temps d'execució. 
  |