title: Problem with sprintf function, last parameters are wrong when written
body: <p>So I use sprintf</p>
  
  <pre><code>sprintf(buffer, "%f|%f|%f|%f|%f|%f|%d|%f|%d", x, y, z, u, v, w, nID, dDistance, nConfig);
  </code></pre>
  
  <p>But when I print the buffer I get the 2 last parameters wrong, they are lets suppose to be 35.0000 and 0 and in the string they are 0.00000 and 10332430 and my buffer is long enough and all the other parameters are good in the string</p>
  
  <p>Any idea? Is there a length limit to sprintf or something?</p>
  
  <p>I checked the types of all the numbers and they are right, but what seems to be the problem is the dDistance.  When I remove it from the sprint, the nConfig gets the right value in the string, but when I remove nConfig, dDistance still doesn't get the right value. I checked and dDistance is a double.  Any idea?</p>
  
  <p>Since people don't seem to believe me I did this :</p>
  
  <pre><code>char test[255]={0};
  int test1 = 2;
  double test2=35.00;
  int test3 = 0;
  
  sprintf(test,"%d|%f|%d",test1,test2,test3);
  </code></pre>
  
  <p>and I get this in my string: </p>
  
  <pre><code>2|0.000000|1078034432
  </code></pre>