📜  Arduino字符串

📅  最后修改于: 2020-12-27 09:41:06             🧑  作者: Mango

Arduino的弦

字符串是一种存储文本而不是整数值的数据类型。它类似于Arduino中的其他数据类型,例如整数,浮点数等。

字符串是一个字符数组或一组字符,由ASCII表中的数字,空格特殊字符组成。

可以通过以下方式声明该字符串:

  • char StrA [10];
  • char StringA [8] = {'w','e','l','c','o','m','e'};

我们还可以添加一个明确的空字符

  • char StringB [8] = {'w','e','l','c','o','m','e','\ 0'};

我们还可以为字符串常量StrA声明一个带有额外空间的数组。

  • char StrA [10]; =“你好”;
  • char StrD [6]; =“你好”;
  • char StrD []; =“欢迎”;

数据类型为char 。每个字符都是字符串的一个元素。例如, Arduino包含七个字符。因此,我们需要声明一个大小至少为8的数组(额外增加1个值以将null字符存储在字符串的末尾)。

考虑以下示例:

char myString[len] = "text";

上面声明的字符串将存储为:

当我们使用双引号(例如上面指定的单词“ text ”)创建字符串,编译器会自动从每个字符创建一个元素。它还将空字符附加到末尾。

空字符在ASCII表中的值为0 。它使用两个字符(\和\ 0)定义。反斜杠(\)表示特殊字符与其他字符一起使用时。反斜杠也称为转义字符。编译器添加了null字符以终止字符串。

注意:字符串始终在双引号内声明,而字符始终在单引号内声明。

如何序列化。 print()和Serial.println()是否可以使用字符串?

有趣的是,知道print()和println()函数如何与字符串。

开始吧。

序列号。用字符串print()

让我们通过一个编码示例来理解。

const int length = 20;
char myString[length] = "Hello Arduino";
// we can also specify as char myString[20] = "Hello Arduino";
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  for( int i=0; i

该代码将多次printHello Arduino ,如下所示:

带字符串的Serial.println()

对于println()函数,我们不需要要求任何for循环或条件即可print。

这是一种print字符串的简便方法。

println()函数将与上述函数相同。

考虑下面的例子。

const int length = 15;
char myString[length] = "Hello Arduino";
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  Serial.println(myString);
delay(500);
}

输出:

输出将与上面相同。

字符串数组

我们可以在处理大型项目(例如LCD显示器等)时指定字符串数组。

数组名称也被视为指针。标有星号的数据类型定义为指针。

例如,char *。要定义一个数组数组,我们实际上需要指针。

让我们看一个例子。

考虑下面的代码:

char *StrAB[] = {"Welcome to string A to G in Arduino", "Here is string A", "Here is string B",  "Here is string C", "Here is string D", "Here is string E", 
"Here is string F", "Here is string G" };
void setup() {
  Serial.begin(9600);
}
void loop() {
  for (int i = 0; i < 8; i++) 
  {
    Serial.println(StrAB[i]);
    delay(1000);
  }
}

输出: