Bonjour.
Je me prends le chou depuis un très très bon moment.

J'ai besoin de concaténer des variable char en une seul.

Un gros je déclare des variables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
char coords[116];
char lat[15];
char lon[15];
char alt[15];
char time[15];
char vel[15];
J'ai une fonction qui va donner des valeur au variable

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 gps.getPar(lon,lat,alt,time,vel);
Ces variables prennent des valeurs comme
34.5678
234.6789

Elles ne peuvent pas avoir une longueur supérieure à 15, mais peuvent en avoir 10

J'aimerais que la variable coords prenne les valeurs des autres variables et y ajouter des String "lon=", "&lat=", "&alt=","&vel=","&time=".

J'ai donc essayé ceci

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
 
  strcpy(coords,"long=");
  strncat(coords,lon,COORDSSIZ); //21
 
  strcat(coords,"&lat=");        //25
  strncat(coords,lat,COORDSSIZ);//40
 
  strcat(coords,"&alti=");        //46
 
  strncat(coords,alt,COORDSSIZ);  //61
 
  strcat(coords,"&time=");        //66
  strncat(coords,time,20);      //86
 
 
  strcat(coords,"&vel=");        //91
  strncat(coords,vel,COORDSSIZ);  //116
Au final coords doit afficher ceci
long=608.476993&lat=4613.165159&alt=345.678&vel=0.00000&time=20130714190621.000


Le problème, c'est au niveau de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
strncat(coords,alt,COORDSSIZ);  //61
Le programme plante.
Si comment ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
  strncat(coords,alt,COORDSSIZ);  //61
 
  strcat(coords,"&time=");        //66
  strncat(coords,time,20);      //86
 
 
  strcat(coords,"&vel=");        //91
  strncat(coords,vel,COORDSSIZ);  //116
Le programme ne plante pas.

En résumé, comment puis concatener des char?

Si je peux concaténer les lat, lon, alt, vel, time en y ajoutant des virgules à la place des "&xxx=", je serai heuruex...

PS; je crois que mon problème est lié au buffer de coords et de la longueur des caractères dans les autres variables, et peut-être du terminateur des variables. Mais là je suis largué.


milles merci pour votre précieuse aide