pains-aux-raisins Fatal error | C'est ton printf qui va pas bien. Tu lui demande d'imprimer les 52 premiers caractères de la variable IntituleManif.arr. Le zéro binaire ajouté en fin de chaîne n'y changera rien.
edit :
Ce que tu peux faire c'est faire un memset(IntituleManif.arr, '\0', LGMAX) juste après le printf.
Tu peux également en profiter pour virer les 4 lignes de code inutiles au dessus du printf...
edit II :
Arrange la boucle while stp. C'est vraiment moche.
Code :
- memset(IntituleManif.arr, '\0', LGMAX);
- EXEC SQL fetch curseur_les_manifs into
- :NumManif, :IntituleManif, :DateManif;
- encore=!sqlca.sqlcode;
- while (encore) {
- printf("%*d %*s %*s\n", 8, NumManif,
- 52, IntituleManif.arr,
- 12, DateManif.arr);
- memset(IntituleManif.arr, '\0', LGMAX);
- EXEC SQL fetch curseur_les_manifs into
- :NumManif, :IntituleManif, :DateManif;
- encore=!sqlca.sqlcode;
- }
|
C'est la manière usuelle de faire une boucle de ce style.
On peut évidemment factoriser par une petite macro ou fonction inline...
Message édité par pains-aux-raisins le 19-12-2004 à 22:01:20
|