utiliza una qué que programa para palabra los letras las función cuente contar caracteres cadena c formatting printf

qué - programa en c++ que cuente las letras de una palabra



Almohadilla izquierda printf con espacios (4)

¿Cómo puedo rellenar una cadena con espacios a la izquierda cuando uso printf?

Por ejemplo, quiero imprimir "Hola" con 40 espacios que lo preceden.

Además, la cadena que quiero imprimir consta de varias líneas. ¿Debo imprimir cada línea por separado?

EDITAR: Para ser claros, quiero imprimir exactamente 40 espacios antes de cada línea.


Si desea que se imprima la palabra "Hola" en una columna de 40 caracteres de ancho, con espacios que se desplazan hacia la izquierda, use lo siguiente.

char *ptr = "Hello"; printf("%40s/n", ptr);

Eso le dará 35 espacios, luego la palabra "Hola". Así es como formateas las cosas cuando sabes qué tan ancho quieres la columna, pero los datos cambian (bueno, es una forma de hacerlo).

Si sabes que quieres exactamente 40 espacios y algo de texto, simplemente guarda los 40 espacios en una constante e imprímelos. Si necesita imprimir varias líneas, utilice múltiples instrucciones printf como la anterior, o hágalo en un bucle, cambiando el valor de ptr cada vez.


Si quieres exactamente 40 espacios antes de la cadena, entonces solo debes hacer:

printf(" %s/n", myStr );

Si eso es demasiado sucio, puede hacerlo (pero será más lento que escribir manualmente los 40 espacios): printf("%40s%s", "", myStr );

Si desea alinear la cadena en la columna 40 (es decir, tener hasta 39 espacios procediéndola de forma tal que el personaje que está más a la derecha esté en la columna 40), haga lo siguiente: printf("%40s", myStr);

También puede poner "hasta" 40 espacios DESPUÉS de la cadena haciendo: printf("%-40s", myStr);


Uso esta función para sangrar mi salida (por ejemplo, para imprimir una estructura de árbol). La indent es la cantidad de espacios antes de la cadena.

void print_with_indent(int indent, char * string) { printf("%*s%s", indent, "", string); }


int space=40; printf("%*s",space,"Hello");

Esta declaración reservará una columna de 40 caracteres, imprimirá una cadena al final de la columna (no después de la columna, en las últimas columnas. El número total de columnas utilizadas seguirá siendo 40). Lo mismo se puede usar para dígitos y números enteros de la siguiente manera

printf("%*d",space,10); printf("%*c",space,'''');

Este método de usar espacios variables es útil en llamadas a funciones donde se requiere un número variable de espacios. Estas sentencias seguirán funcionando con enteros constantes de la siguiente manera

printf("%*d",10,10); printf("%*c",20,''''); printf("%*s",30,"Hello");

Espero que esto ayude a alguien como yo en el futuro.