Estou com um sério problema ao tentar centralizar uma string, tenho que fazer uma função que recebe a string por ponteiro e o tamanho desejado que ela fique, caso impar, coloca o espaço a mais na direita. não sei porque ele não faz na direita, alguém sabe me explicar?
segue o código:
void center(char * s, int n) {
int a, j, x;
char c;
if (n > strlen(s)) {
a = n - strlen(s);
if(a == 1) {
* (s + strlen(s) + 1) = '';
* (s + strlen(s)) = ' ';
}
else {
for(j = 0; j < (a / 2); j++) {
for(x = strlen(s); x >= 0; x--) {
* (s + x + 1) = * (s + x);
}
* (s + j) = ' ';
}
printf ("\n%d", strlen(s));
if((a % 2) == 0) {
for(j = 1; j <= (a / 2); j++) {
printf ("\n%d", strlen(s) +j);
* (s + strlen(s) + j) = ' ';
}
* (s + strlen(s) + (a/2) + 1) = '';
}
else {
if((a % 2) != 0) {
/** (s + strlen(s) + (a/2)) = '';
for(j = 0; j < (a / 2); j++) {
* (s + strlen(s) + 1) = ' ';
}
* (s + strlen(s)) = ' ';*/
//*(s + strlen(s) + 2) = '';
}
}
}
}
}
Pergunta
bruno90
Estou com um sério problema ao tentar centralizar uma string, tenho que fazer uma função que recebe a string por ponteiro e o tamanho desejado que ela fique, caso impar, coloca o espaço a mais na direita. não sei porque ele não faz na direita, alguém sabe me explicar?
segue o código:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.