Estoy tratando de implementar el metodo str.center() que existe en Python pero en C y de paso estoy
aprendiendo a programar en C, pero al borrar la linea que añade el carácter nulo al String resultante obtengo un resultado indeseado.
He estado dandole vueltas al asunto pero no me da el maní que tengo por cerebro, asi que acudo a ustedes en buscas de respuesta.
Muchas Gracias.
Código
#include <stdio.h> #include <string.h> char* center(int, char, char *); int main() { char* pstr = center(30, '*', "hola"); return 0; } char* center(int width, char fc, char* str) { char output[width]; char* buffer = NULL; int cc = 0, n = 0; for(char* i = str; *i != '\0'; ++i) cc += 1; n = (width - cc) / 2; for(int j = 0; j < n; ++j) output[j] = fc; output[n] = '\0'; // Al borrar esta linea obtengo una salida incorrecta return (buffer = output); }