jingel2009
Messages postés1Date d'inscriptionjeudi 5 novembre 2009StatutMembreDernière intervention 7 novembre 2009 7 nov. 2009 à 16:40
Comment faire afficher une chaine de caractere un à un en C sous
linux je connais en pascal mais pas en C;mon probleme ce ke je
utilise le fonction delay et il attend et après affiche tous
les caractere mais pas un à un.Merci de votre aide
gillig
Messages postés32Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 4 décembre 2003 27 oct. 2003 à 17:07
C'est ce que je dis, le code fonctionne, mais il ne fonctionne QU'avec des caractères de 'a' à 'z' !
Si on rentre un espace, une majuscule ou un chiffre par exemple :
- ce caractère ne va pas être restitué dans la chaine triée retournée, ce qui n'est pas encore trop grave, même si on peut s'étonner qu'il disparaisse...
- le plus grave, c'est que le programme écrit dans de la mémoire qui ne lui appartient pas (tab[j]++; avec j hors limite) ...
gochardl
Messages postés2Date d'inscriptionjeudi 6 mars 2003StatutMembreDernière intervention21 mai 2019 24 oct. 2003 à 15:48
Le code fonctionne tres bien avec des caracteres allant de a à z !
gillig
Messages postés32Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 4 décembre 2003 22 oct. 2003 à 15:08
Sans l'avoir testé, j'ai l'impression que ce code est buggé : dans la boucle de remplissage de "tab", pour des caractères < 'a', j < 0 ! Pour des caractères > 'z', j > 25 et on est à nouveau hors-tableau !
Si tu veux conserver cet algo, y'a 2 solutions : allouer 256 caractères pour "tab" (=> taux d'utilisation de la mémoire allouée assez faible, mais bon ça ne fait qu'1 Ko), ou bien vérifier que j est dans les bonnes limites (=> tu laisse tomber les caractères en dehors des limites)...
7 nov. 2009 à 16:40
linux je connais en pascal mais pas en C;mon probleme ce ke je
utilise le fonction delay et il attend et après affiche tous
les caractere mais pas un à un.Merci de votre aide
27 oct. 2003 à 17:07
Si on rentre un espace, une majuscule ou un chiffre par exemple :
- ce caractère ne va pas être restitué dans la chaine triée retournée, ce qui n'est pas encore trop grave, même si on peut s'étonner qu'il disparaisse...
- le plus grave, c'est que le programme écrit dans de la mémoire qui ne lui appartient pas (tab[j]++; avec j hors limite) ...
24 oct. 2003 à 15:48
22 oct. 2003 à 15:08
Si tu veux conserver cet algo, y'a 2 solutions : allouer 256 caractères pour "tab" (=> taux d'utilisation de la mémoire allouée assez faible, mais bon ça ne fait qu'1 Ko), ou bien vérifier que j est dans les bonnes limites (=> tu laisse tomber les caractères en dehors des limites)...