je cherche à réaliser un prog c qui décale d'un rang les caractères une chaine de gauche à droite. Par exemple :
"oooooooo>>>>>>>>"
">oooooooo>>>>>>>"
">>oooooooo>>>>>>"
">>>oooooooo>>>>>"
">>>>oooooooo>>>>"
">>>>>oooooooo>>>"
etc à chaque itération. Sachant que je dois rediriger le flux vers un afficheur LCD 8 caractères, je réalise ensuite un masque sur les 8 premiers caractères avec %.8s dans mon printf.
mon code actuel ne fonctionne pas et je ne comprends pas pourquoi...
int main()
{
char phrase[58];
char tampon;
int k = 0;
int i = 0;
int nb_char = 0;
sprintf(phrase,"oooooooo>>>>>>>>" );
nb_char=strlen(phrase);
for (k=0;k<30;k++)
{
tampon = phrase[nb_char-1];
for (i=0;i<nb_char-2;i++) phrase[nb_char-1-i]=phrase[nb_char-2-i];
phrase[0]=tampon;
printf("%.8s\n",phrase);
}
return 0;
}
En effet, j'obtiens :
>ooooooo
>ooooooo
>ooooooo
>ooooooo
>ooooooo
>ooooooo
>ooooooo
>ooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
---------------
celui qui pose une question est idiot 5 minutes, celui qui n'en pose pas le reste toute sa vie.