bonjour,
c'est un problème qui m'avait l'air tout simple comme ça mais en fait c'est une vraie galère. Je ne trouve pas la solution.
En fait, lorsqu'on fait un(p_chaine est un char *, on a bien initialisé et tout et tout), si on saisit ensuite à l'écran (lettre par lettre): 'A','B',caractère effacement (<--),'B','A' ,on aura à l'écran: ABA (oui je sais il manque un B ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part gets(p_chaine)
mais si on fait unil donnera 5 car la chaine a bien 5 caractères et c'est juste l'interprétation dans stdout qui affiche 3 caractères à l'écran. logique me direz vous...
Code : Sélectionner tout - Visualiser dans une fenêtre à part strlen(p_chaine)
mais ce que je veux récupérer dans ce cas c'est ABA et seulement 'A','B','A' (avec strlen égal à 3).
mon problème est qu'en pro*c, je passe en paramètre une chaine saisie précédemment à l'écran à une requête.
Si l'utilisateur rentre ABA de la façon précédente, le paramètre sera la chaine 'A','B',effacement,'B','A' et pas 'A','B','A'. Si la requête est réussi à ramener quelque chose pour 'A','B','A', elle ramera autre chose et probablement rien pour 'A','B',effacement,'B','A'. Et l'utilisateur voyant la bonne chaine à l'écran (sans jeu de mots) se demandera bien pourquoi ça marche po!!!
merci d'avance.
PS: je précise que je suis sous HP-UX et que je n'ai à disposition que les librairies standards sous ce système.
Partager