/* esStringheStrcpy.cpp

Scrivere il corpo della funzione

    void my_strcpy(char* dest, const char* src)

che copia la stringa src in dest.
Assumere che la memoria a cui punta dest sia stata 
allocata dal chiamante.

Non utilizzare  funzioni la funzione di libreria 
strcpy.

**********************************/


#include <iostream>

// #include <cstring>  // scommentare questa riga
                       // per poter usare le funzioni strlen, strcpy e strcmp

using namespace std;
void my_strcpy(char* dest, const char* src) {
  int i = 0;
  while(src[i] != '\0'){
    dest[i] = src[i];
    i++;
  }
  dest[i] = '\0'; // aggiunta della marca di fine stringa
}

int main(){
  const int DIM = 10; // puo' contenere al massimo una stringa lunga 9 (uno è riservato allo '\0')
  char dest[DIM];
  char src[] = "Ciao"; // alloca un vettore di 5 caratteri

  my_strcpy(dest, src);

  // In alternativa si poteva utilizzare la funzione strcpy della libreria cstring
  // strcpy(dest, src);

  cout<<dest<<endl;
  
  return 0;
}
