Comment créer un buffer

Bonjour à tous,
Je suis un novice et j'ai encore du mal à comprendre un poit.
On m'a dit de plus utiliser la classe PString

PString myString(buffer,sizeof(buffer));

#define BUFFSIZ 180

char at_buffer[BUFFSIZ];
char gps_buffer[BUFFSIZ];
char index;
          myString.print("AT+SSTRSEND=1,\"");
          //gps_buffer[index++] = 'AT+SSTRSEND=1,"';
          
          myString.print(flat,DEC);
          //gps_buffer[index++] = flat;
          
          myString.print(",");
          //gps_buffer[index++] = ',';

          myString.print(flon,DEC);
          //gps_buffer[index++] = flon;
          
          myString.print(",");
          //gps_buffer[index++] = flon;
          
          myString.print(fspeed,2);
          //gps_buffer[index++] = fspeed;
          
          myString.print(",");
          //gps_buffer[index++] = ',';
          
          myString.print(falt,2);
          //gps_buffer[index++] = falt;
          
          //myString.print(",");
          
          //myString.print(fcourse,DEC);
          
          myString.print(",");
          
          
          myString.print(String(count));
          //gps_buffer[index++] = count;
          
          myString.print("\"");
          //gps_buffer[index++] ='"';
          
          //Serial.println(gps_buffer);
          
          //for (int i = 0; i < gps_buffer){
          //}
          Serial.println(myString);
          cell.print(myString);
          //cell.println(gps_buffer);

          myString.begin();

          offLed(blueLedPin);
          
          count++;
          
          delay(3000);

et d'utiliser un buffer.
S'implement, je n'ai pas réussi à faire grand chose.

Dans le code, ci-dessus, j'ai essyer de bufferiser les positions GPS afin de les envoyer. Ce qui est commnenter c'est mon essai du buffer.

Pourriez-vous m'aider, ou me montrer un exemple pour remplacer mon code en utilisant un buffer (gps_buffer)?

Milles mercis

Bonjour,

Regarde du côté de sprintf :wink:
http://www.cplusplus.com/reference/cstdio/sprintf/

Tu déclares ton tableau de char (ton buffer) de la taille max de ta chaine de caractère + 1 ('\0') et ensuite tu fait un bête sprintf() avec les arguments/options qui vont bien :wink:

Exemple :

char buffer[BUFFER_SIZE];
sprintf("%d,%d,%.2f,%.2f,%d\"", flat, flon, fspeed, falt, count);

Serial.println(F("AT+SSTRSEND=1,\""));
Serial.println(buffer);