Page 1 sur 1
Chr(0) partout ?
Publié : mer. 27/avr./2005 13:27
par gansta93
Essayez ce code, vous comprendrez ce que je veux dire.
Code : Tout sélectionner
string.s = "Un chasseur sachant chasser sans son chien est un bon chasseur."
For n = 1 To Len(string)
Debug FindString(string,Chr(0),n)
Next
Si c'est normal, quelquun peut-il m'expliquer comment cela se fait ?
Publié : mer. 27/avr./2005 13:47
par flaith
Est-ce qu'en mémoire la chaine est repésenté sous la forme 'U',\0,'n',\0, etc... ???
Publié : mer. 27/avr./2005 14:04
par Dr. Dri
bah chr(0) c'est une chaîne vide, y'en a une entre chaque caractère...
Dri

Publié : mer. 27/avr./2005 14:16
par gansta93
Pourquoi FindString() lirait-elle entre les caractères ?
[note]Message tronqué et modifié.[/note]
Publié : mer. 27/avr./2005 14:18
par Anonyme2
Dr. Dri a écrit :bah chr(0) c'est une chaîne vide, y'en a une entre chaque caractère...
Dri

Pourquoi ?
Moi je pense que Findstring est buggé dans ce cas. Fiondstring retourne la valeur de n à chaque boucle.
Tous les caractères d'une chaîne sont stockés les uns derrière les autres et la chaîne se termine par 0 (Ansi).
Lorsqu'une chaîne a une taille de 10, elle occupe bien en mémoire 10 octets plus un octet pour le 0 de fin de chaîne.
Publié : dim. 15/mai/2005 18:26
par Fred
FindString() devrait renvoyer 0, non ? C'est un peu un cas bizarre.