Traditional C formatting in Arduino print

ArduinoArduino BoardsArduino IDEArduino Programming Language

If you are familiar with the C language and would like to use the formatting options provided by C language in the Arduino print statements, then there's an easy way to do it. All you need to do is define a character array, and populate it using sprintf(). Within sprintf, you can use the C language formatting. Later, you can simply print out that buffer. The following example code demonstrates how this is done −


char print_buf[100];
void setup() {
void loop() {
   // put your main code here, to run repeatedly:
   for(int i = 0; i < 50; i++){
         sprintf(print_buf,"Current loop count : %d\n", i);

The Serial Monitor output is −


It is a good practice to try and ensure that you don't over-populate the buffer. For instance, in the above code, the print_buf has been declared with a size of 100. So, if more than 100 characters are populated in the print_buf, it can result in some runtime errors, depending on your board and code structure.

Published on 23-Mar-2021 15:58:40