Ho intenzione di imparare il cpp e ho pensato di fare un esempio di cripting per gestire i puntatori.
Il codice seguente non funziona molto bene in quanto mi restituisce più byte di quello che dovrebbe; solo che non capisco perchè!

codice:
void main(){

	char* strToCrypt=new char[6];
	strToCrypt="Roberta";

	cout << strToCrypt << " -> " << cripta(strToCrypt) << "\n";

} //main.


//function cripta
char* cripta(char* word) 

{

char pos[14];

int lenword=strlen(word);
if (lenword >=15) {
cerr << "inserisci massimo 15 caratteri! \n";
exit(0);
}

pos[0]=84;
pos[1]=104;
pos[2]=101;
pos[3]=32;
pos[4]=115;
pos[5]=101;
pos[6]=116;
pos[7]=117;
pos[8]=112;
pos[9]=32;
pos[10]=112;
pos[11]=114;
pos[12]=111;
pos[13]=99;
pos[14]=101;

char c;
char c_;

char* str = (char *)malloc(strlen(word));
//char* str = new char[lenword];

for (int k=0; k<lenword; k++) {
	c=word[k];
	c_=(char)(c+pos[k]);
	str[k]=c;
} 


return str; //La stringa restituisce caratteri che non centrano nulla, qual' è il problema? Grazie!

}