en tentant de répondre au problème de commande SQL de faniette, je me souvenu d'un "bug" que j'avais cherché longtemps, soit un "(null)" qui s'insérait dans un champ de table de données.
J'ai fini par le trouver, me suis demandé s'il y avait un bug dans la méthode de "sprintf" de AnsiString ou si c'était une subtilité qui m'échappait.
Voilà le bug(?)
Voici ce qui sera affiché:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 { AnsiString dest,buf ; buf = "allo" ; dest.sprintf("1- une string: [%s]",buf) ; ShowMessage(dest) ; buf = "" ; dest.sprintf("2- une string: [%s]",buf) ; ShowMessage(dest) ; dest.sprintf("3- une string: [%s]",buf.c_str()) ; ShowMessage(dest) ; }
La version #2, vous trouvez ça normal ou pas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 1- une string: [allo] 2- une string: [(null)] 3- une string: []
Et vous trouvez normal, vous voulez m'expliquer pourquoi?
Partager