¿Como puedo hacer que dada una cadena con espacios ponga en MAYUSCULAS la primera letra de cada palabra asi: "Un Ejemplo"?
Yo lo haria con un for, que revise cada letra de tu cadena y que encuetre la letra después de cada espacio, y como son char's y se pueden hacer operaciones aritmeticas con ellas, puedes restarle 32 a la variable para hacerla mayúscula guiandome con la tabla ASCII. Espero se haya entendido

igual adjunto código:
for(int i=0; i<SIZE_CADENA; i++){
if((cadena[i])==" "){
cadena[i+1]-= 32;
}
else if(cadena[i]=="