Comment concaténer des variables char
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:
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:
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:
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
Citation:
long=608.476993&lat=4613.165159&alt=345.678&vel=0.00000&time=20130714190621.000
Le problème, c'est au niveau de
Code:
strncat(coords,alt,COORDSSIZ); //61
Le programme plante.
Si comment ceci:
Code:
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