Minden, ami elektronika

Elektronikával hobbi szinten foglalkozó oldal

String

2019. szeptember 05. 21:52 - raptor13

Leírás

A szöveges karakterek kétféle módon ábrázolhatók. Használhatja a String adattípust, amely a fordító részét képezi a 0019-es verziótól, vagy létrehozhat egy karakterláncot egy char típusú tömbből. Ez az oldal az utóbbi módszert ismerteti. A String objektummal kapcsolatos további részletek, a String() oldalon találhatóak.

Szintaxis

Az alábbiakban felsorolásra kerül, hogy milyen módszerekkel lehet megadni a karakterláncot:

Lehetséges megadási módok

  • inicializálás nélkül, karakter tömbként mint az Str1-ben
  • a tömb hosszúságával és a tömb tagjainak megadásával, mint az Str2-nél (a meg nem adott helyeken null-karakter lesz
  • az Str3 ugyan az, mint az Str2, de itt külön adjuk hozzá a null karaktert, nem a fodító fogja végrehajtani
  • idézőjelek között felsorolt karakterekkel, ilyenkor a tömb nagyságát a fordító automatikusan meghatározza
  • az Str5 esetében a méret adott, a végén egy null karakter lesz
  • az Str6 esetében egy jóval nagyobb tömböt hoztunk létre

Null karakter

Általában a karakterláncokat null karakterrel fejezzük be (ASCII kód ​​0). Ez lehetővé teszi a függvényeknek (például a Serial.print ()), hogy megmondják, hol van egy karakterlánc vége. Ellenkező esetben folytatnák a memória későbbi byte-jainak olvasását, amelyek valójában nem képezik a karakterlánc részét.

Ez azt jelenti, hogy a tömböt egyel több tagúra kell létrehozni, mint a szöveg, amelyet azt szeretne tárolni benne. Ezért kell az Str2 és az Str5 esetében nyolc karakterből állni, annak ellenére, hogy az "arduino" csak hét - az utolsó pozíció automatikusan null karakterrel van kitöltve. Az Str4 automatikusan nyolc karakterre lesz méretezve, egy az extra null számára. Az Str3-ban saját magunk írtuk a végére a null karaktert ('\ 0').

Vegye figyelembe, hogy lehetséges egy karakterlánc végleges null karakter nélkül is (például ha a Str2 hosszát nyolc helyett hétként határozta meg). Ez hibás működést okoz a legtöbb karakter láncot használó funkciónál, ezért ezt el kell kerülni. Ha furcsán viselkedik egy funkció (a karakterláncon kívüli karakterekkel működik), ez a probléma lehet a háttérben.

Egyszeres vagy dupla idézőjel?

A karakterláncokat mindig kettős idézőjelekben ("Abc") határozzuk meg, a karaktereket mindig egy idézőjelekben ('A').

Hosszú karakterláncok megadása

A következőképpen lehet elvégezni:

String tömbök

Ha nagy mennyiségű szöveget használ, például LCD-kijelzővel dolgozik, gyakran kényelmes előre megadni 1-1 mondatot, tömbökbe szervezve. Mivel maguk a karakterláncok tömbök, valójában ez egy kétdimenziós tömb példája.

Az alábbi kódban a „char *” adattípus utáni csillag azt jelzi, hogy ez egy „pointerek” tömbje. Az összes tömbnév valójában pointer (mutató), tehát erre tömb tömb létrehozásához van szükség. A mutatók a kezdők számára a C ++ egyik ezoterikusabb része, de a hatékony felhasználáshoz nincs szükség a mutatók részletes megértésére.

Példakód

Lásd még

String()

array

bool

boolean

byte

char

double

float

int

long

short

size_t

unsigned char

unsigned int

unsigned long

void

word

PROGMEM

Szólj hozzá!

A bejegyzés trackback címe:

https://electro.blog.hu/api/trackback/id/tr7915042814

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása