【声明】本贴当前介绍 %d %s %f 的使用方法
我们在练习C语言的时候使用 printf 来输出字符,使用占位符(百度百科称作 【规定符】如: %d , %f)来输出变量。
在arduino 中 Serial.print 和 Serial.println 无法像 C语言编译器中那样直接使用占位符进行输出。
但是 arduino 可以 使用 sprintf 来输出。
举例:
你想用 Arduino在串行监视器上显示多个变量,而不必使用一堆单独的Serial. print()语句,
如果是这样,那么使用 sprintf()函数。
假设您要将这行文本打印到串行监视器:
numBurritos = 3
tempStr = 147.7
“The 3 burritos are 147.7 degrees F”
事实上,对于添加到输出中的每个变量,您都会在代码中添加两个串行打印。
如果你想打印一行 多个变量插入到这样的字符串中怎么办就需要长长的代码量。
而使用 sprintf 就可以简化,这一输出。我们可以根据需要将尽可能多的变量打印到我们的字符串中,所需的代码量保持在 3 行。
这里你需要的三行代码:
让我们仔细看看每一行代码。
charbuffer[40];
字符数组需要与最终输出字符串一样大或更大。因此,计算你计划在该字符串中存储的字符数,并确保缓冲区至少有那么大。用于存储输出的字符。
sprintf(buffer,"The %d burritos are %s degrees F",numBurritos,tempStr);
sprintf 用于将输出的字符存储到 buffer 数组中
Serial.println(buffer);
打印
我们用一个程序来验证一下 使用 %d 使用方法
我们用一个程序来验证一下 使用 %s 使用方法
使用 %f 使用方法
%f 不能直接 输出,要先转化为 字符数组 然后使用 %s 的方式进行输出,使用dtostrf()函数进行转换
我们先看转化程序
我们用一个程序来验证一下
以上,就是我关于 格式化输出的心得,后期有能力的话,更新其他占位符输出格式。尽量基于本贴去更新。
觉得有用,就留个言吧
我们在练习C语言的时候使用 printf 来输出字符,使用占位符(百度百科称作 【规定符】如: %d , %f)来输出变量。
在arduino 中 Serial.print 和 Serial.println 无法像 C语言编译器中那样直接使用占位符进行输出。
但是 arduino 可以 使用 sprintf 来输出。
举例:
你想用 Arduino在串行监视器上显示多个变量,而不必使用一堆单独的Serial. print()语句,
如果是这样,那么使用 sprintf()函数。
假设您要将这行文本打印到串行监视器:
numBurritos = 3
tempStr = 147.7
“The 3 burritos are 147.7 degrees F”
事实上,对于添加到输出中的每个变量,您都会在代码中添加两个串行打印。
如果你想打印一行 多个变量插入到这样的字符串中怎么办就需要长长的代码量。
而使用 sprintf 就可以简化,这一输出。我们可以根据需要将尽可能多的变量打印到我们的字符串中,所需的代码量保持在 3 行。
这里你需要的三行代码:
让我们仔细看看每一行代码。
charbuffer[40];
字符数组需要与最终输出字符串一样大或更大。因此,计算你计划在该字符串中存储的字符数,并确保缓冲区至少有那么大。用于存储输出的字符。
sprintf(buffer,"The %d burritos are %s degrees F",numBurritos,tempStr);
sprintf 用于将输出的字符存储到 buffer 数组中
Serial.println(buffer);
打印
我们用一个程序来验证一下 使用 %d 使用方法
我们用一个程序来验证一下 使用 %s 使用方法
使用 %f 使用方法
%f 不能直接 输出,要先转化为 字符数组 然后使用 %s 的方式进行输出,使用dtostrf()函数进行转换
我们先看转化程序
我们用一个程序来验证一下
以上,就是我关于 格式化输出的心得,后期有能力的话,更新其他占位符输出格式。尽量基于本贴去更新。
觉得有用,就留个言吧