: String->Length vers int : incohérence valeurs [C++ Managé Managed] - C++ - Programmation
Marsh Posté le 20-04-2006 à 15:15:10
Sagoth a écrit : Bonjour à tous.
|
Pour éviter toute pollution, tu devrais essayer avec :
Code :
|
Après-tout, on ne sait pas ce que contient "bufData"...
Marsh Posté le 20-04-2006 à 15:41:06
Oui, avec une chaine "en dur" comme ton exemple, ca marche.
En fait il me renvoie la taille de mon bufData déclaré (et non la taille des données dans celui ci), une sorte de sizeOf.
Si l'on admet qu'il me renvoit cette espece de sizeOf et non la "longueur", il est quand meme étonnant que l'espion m'indique une longueur correcte et que la sauvegartde de cette longueur correcte dans un int se transforme en un sizeOf de mon bufData
Soit c'est l'espion du debugger qui a du mal, soit c'est encore un truc tordu du managé.
PS: pour info mon buf data est défini et instancié de la sorte :
Code :
|
Marsh Posté le 20-04-2006 à 18:53:32
Sagoth a écrit : Oui, avec une chaine "en dur" comme ton exemple, ca marche. |
Ou alors "bufData" contient 1025 caractères non nul et le caractère suivant (qui n'appartient plus à "bufData" mais qui est le suivant dans la mémoire) contient un "\0" d'où le 1025 que tu reçois dans "longueur"
Sagoth a écrit : Soit c'est l'espion du debugger qui a du mal, soit c'est encore un truc tordu du managé. |
Essaye un bête printf("%d\n", strlen(bufData))...
Marsh Posté le 20-04-2006 à 14:59:49
Bonjour à tous.
Je viens de remarquer un truc pour le moins étrange.
Dans un projet c++ managé, j'ai les instructions suivantes :
Par contre, à ce stade, la variable "longueur" prend systématiquement la valeur "1025", qq soit la s->Length.
Qqun aurait'il une explication à ce sujet ??
C'est d'autant plus étrange qu'il n'y a pas de cast "apparent", Length renvoyant un int !?
Message édité par Sagoth le 20-04-2006 à 15:01:05