School-Coding-Cpp/stringhe/es5L.cpp

23 lines
773 B
C++

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