[Data Types] → string

Popis :

Textové reťazce môžu byť reprezentované dvoma spôsobmi. môžete použiť dátový typ String alebo môžete vytvoriť reťazec z poľa typu char a ukončiť ho hodnotou null.

Syntax :

Platné deklarácie pre reťazce:

Možnosti deklarovania reťazcov :

  • Deklarujte pole znakov bez jeho inicializácie ako v Str1
  • Deklarujte pole znakov (s jedným znakom navyše) a kompilátor pridá požadovaný nulový znak, ako v Str2
  • Explicitne pridajte znak null, Str3
  • Inicializujte reťazcovou konštantou v úvodzovkách; kompilátor nastaví veľkosť poľa tak, aby sa zmestilo do reťazcovej konštanty a ukončujúceho nulového znaku, Str4
  • Inicializujte pole s explicitnou veľkosťou a reťazcovou konštantou Str5
  • Inicializujte pole a ponechajte priestor navyše pre väčší reťazec Str6

Nulové ukončenie :

Vo všeobecnosti sú reťazce ukončené znakom null (kód ASCII 0). To umožňuje funkciám (ako Serial.print()) zistiť, kde je koniec reťazca. V opačnom prípade by pokračovali v čítaní nasledujúcich bajtov pamäte, ktoré v skutočnosti nie sú súčasťou reťazca. To znamená, že váš reťazec musí mať miesto pre jeden znak viac ako text, ktorý chcete, aby obsahoval. Preto Str2 a Str5 musia mať osem znakov, aj keď „arduino“ je len sedem – posledná pozícia sa automaticky vyplní nulovým znakom. Str4 sa automaticky nastaví na osem znakov, jeden pre nulu navyše. V Str3 sme sami explicitne zahrnuli nulový znak (napísaný ‘\0’).

Jednoduché úvodzovky alebo dvojité úvodzovky? :

Reťazce sú vždy definované v dvojitých úvodzovkách (“Abc”) a znaky sú vždy definované v jednoduchých úvodzovkách (‘A’).

(long string) :

Príklad :

char myString[] = "Toto je prvý riadok"
" toto je druhý riadok"
"atď.";

Pole reťazcov :

Pri práci s veľkým množstvom textu, ako je napríklad projekt s LCD displejom, je často vhodné nastaviť pole reťazcov. Pretože samotné reťazce sú polia, toto je vlastne príklad dvojrozmerného poľa. V nižšie uvedenom kóde hviezdička za údajovým typom char „char*“ označuje, že ide o pole „pointers“. Všetky názvy polí sú v skutočnosti pointers, takže je to potrebné na vytvorenie poľa polí. pointers sú jednou z ezoterickejších častí C++ pre začiatočníkov, ale nie je potrebné podrobne rozumieť pointers, aby ste ich tu mohli efektívne používať.

Príklad kódu :

char *myStrings[] = {"Toto je reťazec 1, "Toto je reťazec 2", "Toto je reťazec 3",
 "Toto je reťazec 4", "Toto je reťazec 5", "Toto je reťazec 6"
 };

void setup() {
  Serial.begin(9600);
}

void loop() {
  for (int i = 0; i < 6; i++) {
    Serial.println(myStrings[i]);
    delay(500);
  }
}

 Stringobject :

  • String()


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Nemôžete kopírovať obsah tejto stránky