A String length() használata

Ez a példa bemutatja, hogyan lehet ezzel a paranccsal válaszolni a Serial Monitor bemenetére.


Utolsó felülvizsgálat: 2022.02.04 16:50


Egy String hosszát a length() paranccsal kaphatja meg. Ez a példa bemutatja, hogyan lehet ezzel a paranccsal válaszolni az Arduino Software (IDE) soros monitorról érkező bemenetre. Ha a bemeneti karakterlánc túl hosszú, a vázlat egy konkrét üzenetet küld a felhasználónak.

Hardver szükséglet

  • Arduino kártya

Az áramkör

Ebben a példában nincs áramkör, bár a kártyát USB-n keresztül kell csatlakoztatni a számítógéphez, és az Arduino Software (IDE) soros monitor ablakának nyitva kell lennie.

A kód

A length() egy karakterlánc hosszát adja vissza. Sok alkalom van, amikor szükség van erre. Például, ha meg akarja győződni arról, hogy egy karakterlánc 140 karakternél rövidebb, hogy elférjen egy szöveges üzenetben, tegye a következőket:

/*
  String length()

  Példák a length() használatára egy karakterláncban.
  Nyissa meg a Serial Monitort, és kezdje el a karakterek küldését az eredmények megtekintéséhez.

  created 1 Aug 2010
  by Tom Igoe

  Ez a kód nyilvános.

  https://docs.arduino.cc/built-in-examples/strings/StringLength
*/

String txtMsg = "";                         // egy karakterlánc a bejövő szöveghez
unsigned int lastStringLength = txtMsg.length();     // a karakterlánc korábbi hossza

void setup() {
  // Nyissa meg a soros kommunikációt, és várja meg, amíg megnyílik a port:
  Serial.begin(9600);
  while (!Serial) {
    ; // várja meg a soros port csatlakozását. Csak a natív USB-porthoz szükséges
  }

  // küldj bevezetőt:
  Serial.println("\n\nString  length():");
  Serial.println();
}

void loop() {
  // adjon hozzá bármilyen bejövő karaktert a karakterlánchoz:
  while (Serial.available() > 0) {
    char inChar = Serial.read();
    txtMsg += inChar;
  }

  // nyomtassa ki az üzenetet és értesítést, ha megváltozott:
  if (txtMsg.length() != lastStringLength) {
    Serial.println(txtMsg);
    Serial.println(txtMsg.length());
    // ha a karakterlánc 140 karakternél hosszabb, panaszkodj:
    if (txtMsg.length() < 140) {
      Serial.println("That's a perfectly acceptable text message");
    } else {
      Serial.println("That's too long for a text message.");
    }
    // jegyezze meg a hosszt a következő alkalommal a ciklushoz:
    lastStringLength = txtMsg.length();
  }
}

Tudj meg többet

További alapvető oktatóanyagokat a beépített példák részben talál.

Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.