bonjour à tous,
J'essaie en vain de convertir du float en char pour être plus précis j'ai converti du char en float avec la fonction atof et je voudrais reconvertir ce float en char en utilisant la fonction sprintf :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
  double plusgrand;
  int i;
  char buf[256];
  if (argc<3)  /* argc nombre de paramètres passés au programme */
  {
    printf("pas assez de paramètres\n");
    return -1;
  }
  plusgrand=atof(argv[1]);         
  for (i=2;i<argc;i++)
  {
    printf("Valeur de argv i-1 = %s\n", argv[i-1]);
    printf("valeur de atof i-1 = %f\n", atof(argv[i-1]));
    printf("Valeur de argv i = %s\n", argv[i]);
    printf("valeur de atof i = %f\n", atof(argv[i]));
    if (atof(argv[i])>atof(argv[i-1]))
      {
        sprintf(buf, "%s",plusgrand); /* c'est içi que j'utilise la fonction sprintf */
        printf("i>i-1...plusgrand est %s\n",buf);
      }
  }
  printf("Le plus grand est %f\n", plusgrand);
  sprintf(buf, "%s",plusgrand);
  printf("Le + grand est %s\n",buf);
  return 0;
}
il me renvoit :i>i-1...plusgrand est (null)
)


Si quelqu'un peut m'"expliquer Merçi