18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 基礎入門 >> Arduino開發學習 >> 正文

Arduino-字符串對象-係列9

作者:佚名    文章來源:網絡    點擊數:    更新時間:2023/11/26

Arduino中使用的第二種類型的字符串是字符串對象。何為(wei) 字符串對象呢?

什麽是字符串對象

 

對象是同時包含函數和數據的結構,字符串對象可以像創建變量一樣創建,並可以對其進行賦值。字符串對象包含對字符串對象數據進行操作的函數(在麵向對象編程(object oriented programming, OOP)中稱為(wei) “方法”)。

我們(men) 通過下麵的例子來理解和說明字符串對象是什麽(me) 以及如何使用:

void setup() { String my_str = "This is my string."; Serial.begin(9600); // (1) 打印輸出字符串 Serial.println(my_str); // (2) 將字符串更改為(wei) 大寫(xie) my_str.toUpperCase(); Serial.println(my_str); // (3) 重寫(xie) 字符串 my_str = "My new string."; Serial.println(my_str); // (4) 替換字符串中的一個(ge) 單詞 my_str.replace("string", "Arduino sketch"); Serial.println(my_str); // (5) 獲取字符串的長度 Serial.print("String length is: "); Serial.println(my_str.length()); } void loop() { }

輸出結果:

This is my string. THIS IS MY STRING. My new string. My new Arduino sketch. String length is: 22

工作原理

“ String my_str = “This is my string.” ; ” 創建一個(ge) 名為(wei) my_str的字符串對象,並給它分配一個(ge) 值為(wei) “This is my String .”。字符串對象可以像字符數組一樣可以打印到串口監視器窗口。見示例代碼(1)

將字符串轉換為(wei) 大寫(xie) ,創建的字符串對象 my_str 有許多可以對其進行操作的函數或方法。這些方法是通過使用對象名稱後麵跟著點操作符(.)和要使用的函數名稱來調用的。“ my_str.toUpperCase(); ” toUpperCase() 函數的作用是:修改 my_str 對象中包含的字符串,該字符串類型為(wei) string,並將對象包含的字符串數據(或文本)轉換為(wei) 大寫(xie) 字符。String類包含的函數列表可以在 Arduino String reference中找到。從(cong) 技術上講,String被稱為(wei) 類,用於(yu) 創建 String 對象。 見示例代碼(2)

重寫(xie) 字符串, 賦值操作符(詳見:)用於(yu) 將一個(ge) 新字符串賦值給需要替換的舊字符串的my_str對象,“ my_str = “My new string.” ; ” 賦值運算符“ = ”不能用於(yu) 字符數組,隻能用於(yu) 賦值字符串對象。見示例代碼(3)

替換字符串中的單詞,replace() 函數的作用是:用傳(chuan) 遞給它的第二個(ge) 字符串”Arduino sketch”替換傳(chuan) 遞給它的第一個(ge) 字符串”string”。replace()是String類中的一個(ge) 函數,因此可以在String對象 my_str 上直接使用。 見示例代碼(4)

獲取字符串的長度,使用 length() 可以很容易的獲得字符串長度。在示例中,length() 返回的結果可以直接傳(chuan) 遞給 Serial.println(),而不需要使用中間變量。

什麽時候使用字符串對象

字符串對象相比字符串和字符數組更容易使用,它具有可以很多對字符串進行操作的內(nei) 置函數。

使用字符串對象的主要缺點是它會(hui) 占用了大量的內(nei) 存,錯誤的使用可能導致Arduino RAM容量的很快耗盡,最終導致Arduino掛起、崩潰或其它意外發生。如果Arduino上的 sketch 很小,並且優(you) 化了字符串對象的使用,那麽(me) 也沒有太大的問題。

使用字符數組來操作字符串相對困難,你可能需要編寫(xie) 函數來操作字符數組內(nei) 的字符串。但這樣做的好處是可以控製所創建的字符數組的大小,可以很好的控製字符數組的體(ti) 積從(cong) 而節省內(nei) 存。

需要注意的是,使用字符數組時,數組內(nei) 容不要超出數組邊界。字符串對象沒有字符邊界的問題,前提是有足夠的內(nei) 存來供它操作。

Tags:Arduino,字符串對象,程序,教程  
責任編輯:admin
  • 上一個文章:
  • 下一個文章:
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢