Pages: [1]   Go Down
Author Topic: Comment puis concatener un string avec un char  (Read 418 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 0
Posts: 440
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
Voilà, je m'excuse si ma question devait être bête mais je ne maitrise pas encore Sketch à 100%

J'ai c'ette chaine de caractere

Code:
char coords[64];
char  coordinate[8];
char flat="12.33332";
char flon="65.1000";
const String request = "GET /opt/updatesql.php";
const String request_end = " HTTP/1.1";

et j'essaye de faire ceci

Code:
       
     strcpy(coords, request);
      strcat(coords, "?");
      
      strcat(coords, "lat=");
      // Latitude
      dtostrf(flat, 2, 4, coordinate);
      strcat(coords, coordinate);
      
      strcat(coords, "&");
      
      //Longitude
      strcat(coords, "long=");
      dtostrf(flon, 2, 4, coordinate);
      strcat(coords, coordinate);

      strcat(coords, " HTTP/1.1");
      // Terminate the string
      strcat(coords, "\0");
      
      Serial.println(coords);

Quand je compile, j'ai un message d'erreur à ce niveau

Code:
strcpy(coords, request);
et je pense que que parce que "request" est une String.

En fait je préfèrerai avoir tout en String. Comment puis-je alors concatener deux String en prenant en compte que coords est déclaré en String

Code:
String coords;

Merci pour vos lumières  smiley-roll-sweat
« Last Edit: February 18, 2013, 12:56:20 pm by pierrot10 » Logged

Il ne suffit pas de tout savoir, la persévérance, c'est déjà presque tout!

Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3738
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

String ? Skywood va gueuler ... xD

Blague à part, enfin pas tant que ça, la classe String est assez problématique.
Code:
const String request = "GET /opt/updatesql.php";
const String request_end = " HTTP/1.1";

C'est

Code:
const request[] = "GET /opt/updatesql.php";
const request_end[] = " HTTP/1.1";

Logged


Offline Offline
Sr. Member
****
Karma: 0
Posts: 440
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut merci pour ta réponse.
J'avais aussi pensé à ca, mais en passant les variable requtes et request_end en char, ca ma généré une erreur.

En fait j'ai voulu faire trop compliqué.

J'ai fait comme ceci.
J'ai laissé en char
Code:
*/
      strcpy(coords, "?");
     
      strcat(coords, "lat=");
      // Latitude
      dtostrf(flat, 2, 4, coordinate);
      strcat(coords, coordinate);
     
      strcat(coords, "&");
     
      //Longitude
      strcat(coords, "long=");
      dtostrf(flon, 2, 4, coordinate);
      strcat(coords, coordinate);
     
      strcat(coords, "&");
     
[... suite du code...]

puis je passe mon code:

[code]sendGPRS(request + String(coords) + request_end + "\0");

Chais pas si c'est catolique et je n'ai pas encore essayé, mais je ne vais tarder à le faire...


[/code]
Logged

Il ne suffit pas de tout savoir, la persévérance, c'est déjà presque tout!

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Bon comme d'hab. String -> au bucher hérétique !
Plus sérieusement, ton code je sait pas d'où il sort mais c'est pas encore ça smiley-wink

Tu envois sur un SoftwareSerial ou un truc dans le genre je suppose (je vois qu'on parle de GPRS) ?
Si oui pourquoi concaténer des string quand tu peut faire plusieurs .print() à la suite smiley-wink

Au passage ton appel à la fonction mélangeant String, char[] et '\0' c'est vraiment pas ça !
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1]   Go Up
Jump to: