在Arduino中將字串轉換為字元陣列
有很多為Arduino構建的庫,其函式使用字元陣列作為輸入而不是字串。幸運的是,Arduino有一個內建方法( **toCharArray()** )可以將字串轉換為字元陣列。下面給出一個示例實現:
示例
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
String s1 = "Hello World!";
char buf[30];
s1.toCharArray(buf,6);
Serial.println(buf);
s1.toCharArray(buf,s1.length());
Serial.println(buf);
}
void loop() {
// put your main code here, to run repeatedly:
}如你所見, **toCharArray** 函式有兩個引數:儲存字串字元的陣列,以及要轉換的字元數量。我們最初只將字串的前5個字元轉換為字元陣列。請注意,我們指定長度為6而不是5,因為最後一個字元保留給字串終止符('0')。因此,如果希望字串包含N個字元,則在長度引數中輸入N+1。
這意味著第一個列印語句只會列印“Hello”。在下一次嘗試中,將列印整個字串,因為我們已將長度引數指定為等於字串的長度。但是,正如你從下面的輸出中看到的,末尾的感嘆號(!)丟失了。同樣,這是因為理想情況下,我們應該將長度引數指定為字串長度+1。確保你轉換的字元數量不超過你的字元陣列可以儲存的數量。
序列埠監視器的輸出如下所示:
輸出

廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP