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(?)
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) ;
}
Voici ce qui sera affich�:
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: []
La version #2, vous trouvez �a normal ou pas?

Et vous trouvez normal, vous voulez m'expliquer pourquoi?