<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

      Arduino-字符串對象-系列9

      作者:佚名    文章來源:網(wǎng)絡(luò)    點擊數(shù):    更新時間:2023/11/26

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

      什么是字符串對象

       

      對象是同時包含函數(shù)和數(shù)據(jù)的結(jié)構(gòu),字符串對象可以像創(chuàng)建變量一樣創(chuàng)建,并可以對其進行賦值。字符串對象包含對字符串對象數(shù)據(jù)進行操作的函數(shù)(在面向?qū)ο缶幊?object oriented programming, OOP)中稱為“方法”)。

      我們通過下面的例子來理解和說明字符串對象是什么以及如何使用:

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

      輸出結(jié)果:

      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.” ; ” 創(chuàng)建一個名為my_str的字符串對象,并給它分配一個值為“This is my String .”。字符串對象可以像字符數(shù)組一樣可以打印到串口監(jiān)視器窗口。見示例代碼(1)

      將字符串轉(zhuǎn)換為大寫,創(chuàng)建的字符串對象 my_str 有許多可以對其進行操作的函數(shù)或方法。這些方法是通過使用對象名稱后面跟著點操作符(.)和要使用的函數(shù)名稱來調(diào)用的。“ my_str.toUpperCase(); ” toUpperCase() 函數(shù)的作用是:修改 my_str 對象中包含的字符串,該字符串類型為string,并將對象包含的字符串?dāng)?shù)據(jù)(或文本)轉(zhuǎn)換為大寫字符。String類包含的函數(shù)列表可以在 Arduino String reference中找到。從技術(shù)上講,String被稱為類,用于創(chuàng)建 String 對象。 見示例代碼(2)

      重寫字符串, 賦值操作符(詳見:Arduino-運算符-系列4)用于將一個新字符串賦值給需要替換的舊字符串的my_str對象,“ my_str = “My new string.” ; ” 賦值運算符“ = ”不能用于字符數(shù)組,只能用于賦值字符串對象。見示例代碼(3)

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

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

      什么時候使用字符串對象

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

      使用字符串對象的主要缺點是它會占用了大量的內(nèi)存,錯誤的使用可能導(dǎo)致Arduino RAM容量的很快耗盡,最終導(dǎo)致Arduino掛起、崩潰或其它意外發(fā)生。如果Arduino上的 sketch 很小,并且優(yōu)化了字符串對象的使用,那么也沒有太大的問題。

      使用字符數(shù)組來操作字符串相對困難,你可能需要編寫函數(shù)來操作字符數(shù)組內(nèi)的字符串。但這樣做的好處是可以控制所創(chuàng)建的字符數(shù)組的大小,可以很好的控制字符數(shù)組的體積從而節(jié)省內(nèi)存。

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

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

      還可以輸入 200 個字
      [ 查看全部 ] 網(wǎng)友評論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 久久婷婷五月综合国产尤物app| 亚洲丁香婷婷综合久久| 一本色道久久综合一区| 丁香五月网久久综合| 亚洲精品国产综合久久一线 | 亚洲综合久久一本伊伊区| 亚洲综合在线观看视频| 亚洲精品综合久久| 天天av天天翘天天综合网| 久久91精品综合国产首页| 色综合色综合久久综合频道| 天堂无码久久综合东京热| 亚洲AV综合色一区二区三区| 小说区综合区首页| 久久久久久久综合色一本| 婷婷丁香五月天综合东京热| 五月婷婷激情综合| 国产AV综合影院| 综合无码一区二区三区| 色天使久久综合网天天| 久久婷婷午色综合夜啪| 91精品婷婷国产综合久久| 狠狠色噜噜狠狠狠狠色综合久| 五月天激情综合网| 成人综合伊人五月婷久久| 色综合天天综合婷婷伊人| 色天使亚洲综合在线观看| 亚洲国产精品综合久久20| 浪潮AV色综合久久天堂| 99久久综合久中文字幕| 久久影院综合精品| 色综合久久天天影视网| 91精品国产综合久久四虎久久无码一级| 亚洲综合精品香蕉久久网| 久久无码无码久久综合综合| 久久婷婷香蕉热狠狠综合| 自拍 偷拍 另类 综合图片| 小说区综合区首页| 国产综合一区二区在线观看| 久久精品国产亚洲综合色| 久久五月天综合网|