/*
AUTORE: Manuel Vichi
es5L: Scrivere una funzione che restituisce una stringa formata da start caratteri pad seguiti dai caratteri della stringa str ed infine seguiti da end caratteri pad.
Prototipo richiesto:
	char *strpad(const char *str, unsigned start, unsigned end, char pad),
Esempio: strpad("giorno", 3, 2, '*') -> "***giorno**".
*/
#include <iostream>
#include <cctype>
#include <cstring>
using namespace std;
char *strpad(char * const str, unsigned start, unsigned end, char pad) {
	memmove(str+start, str, strlen(str)+1);
	memset(str,pad,start);
	str[strlen(str)+end] = '\0';
	memset(str + strlen(str),pad,end);
	return str;
}
int main(void) {
	char str[80+1] = "Buonasera";
	cout << "strpad: " << strpad(str,3,2,'*') << endl;
	return 0;
}