课程表

Arduino 基础

Arduino 函数库

Arduino 进阶

Arduino 项目

Arduino 传感器

Arduino 电机控制

Arduino 声音

工具箱
速查手册

Arduino 字符串对象

当前位置:免费教程 » 程序设计 » Arduino

在Arduino编程中使用的第二种类型的字符串是字符串对象。


什么是对象?

对象是一个包含数据和函数的构造。 字符串对象可以像变量一样创建,并分配一个值或字符串。 String对象包含对包含在String对象中的字符串数据进行操作的函数(在面向对象编程(OOP)中称为“方法")。


下面的草图和解释将清楚一个对象是什么,以及如何使用String对象。


例子

  1. void setup() {
  2. String my_str = "This is my string.";
  3. Serial.begin(9600);
  4.  
  5. // (1) print the string
  6. Serial.println(my_str);
  7.  
  8. // (2) change the string to upper-case
  9. my_str.toUpperCase();
  10. Serial.println(my_str);
  11.  
  12. // (3) overwrite the string
  13. my_str = "My new string.";
  14. Serial.println(my_str);
  15.  
  16. // (4) replace a word in the string
  17. my_str.replace("string", "Arduino sketch");
  18. Serial.println(my_str);
  19.  
  20. // (5) get the length of the string
  21. Serial.print("String length is: ");
  22. Serial.println(my_str.length());
  23. }
  24.  
  25. void loop() {
  26.  
  27. }


结果

  1. This is my string.
  2. THIS IS MY STRING.
  3. My new string.
  4. My new Arduino sketch.
  5. String length is: 22


创建字符串对象,并在草图顶部分配一个值(或字符串)。

  1. String my_str = "This is my string." ;


这将创建一个名为 my_str 的String对象,并给它一个值“my_str"。

这可以与创建变量并为其分配一个值(如整数)相比较 -

  1. int my_var = 102;


草图以下列方式工作。

打印字符串

该字符串可以打印到串行监视器窗口,就像字符数组字符串。


将字符串转换为大写

创建的字符串对象my_str,有多个可以操作的函数或方法。 这些方法通过使用对象名称后跟点运算符(。)和要使用的函数的名称来调用。

  1. my_str.toUpperCase();

toUpperCase()函数对包含在类型为String的 my_str 对象中的字符串进行操作,并将对象包含的字符串数据(或文本)转换为大写 字符。 String类包含的函数列表可以在Arduino String参考中找到。 从技术上讲,String被称为一个类,用于创建String对象。


覆盖字符串

赋值运算符用于为替换旧字符串的 my_str 对象分配一个新字符串

  1. my_str = "My new string." ;

赋值运算符不能用于字符数组字符串,但仅适用于String对象。


替换字符串中的单词

replace()函数用于替换传递给它的第二个字符串传递给它的第一个字符串。 replace()是另一个内置到String类中的函数,因此可以在String对象my_str上使用。


获取字符串的长度

通过使用length()可以很容易地获得字符串的长度。 在示例草图中,由length()返回的结果直接传递到Serial.println(),而不使用中间变量。


何时使用字符串对象

字符串对象比字符串字符数组更容易使用。 该对象具有内置函数,可以对字符串执行多个操作。


使用String对象的主要缺点是,它使用了大量的内存,并可以迅速使用Arduinos的RAM内存,这可能会导致Arduino挂起,崩溃或行为意外。 如果在Arduino上的草图很小,并限制对象的使用,那么应该没有问题。


字符数组字符串更难使用,你可能需要编写自己的函数来操作这些类型的字符串。 其优点是,你可以控制字符串数组的大小,所以你可以保持数组小,以节省内存。


你需要确保你不要超出数组边界的字符串数组的末尾。 String对象没有这个问题,并且会处理你的字符串边界,只要有足够的内存来操作。 String对象可以尝试在内存不足时写入不存在的内存,但不会在其操作的字符串的末尾写入。


使用字符串

在本章中,我们研究了字符串,它们在内存中的行为及其操作。


当我们研究如何从串行监视器窗口获取用户输入并将输入保存在字符串中时,本课程的下一部分将介绍字符串的实际用法。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号