Mukautettu merkkijonon muotoilu#

Johdanto#

C++:n merkkijonojen muotoilu VEX IQ:ssa (1. sukupolvi) käyttää printf-tyylisiä muotoilumäärittelijöitä muuttujia, lausekkeita tai arvoja sisältävien merkkijonojen luomiseen. Tässä menetelmässä käytetään muotoilumäärittelijöitä, kuten %d, %f, %sjne., arvojen lisäämiseen merkkijonoihin.

Lukujen muotoilu — Lisää arvoja ja lausekkeita merkkijonoon.

  • %d — Muotoilee kokonaislukuja.

  • %.xf — Asettaa liukulukujen desimaalien määrän.

  • %x — Muotoilee luvun heksadesimaaliluvuksi.

  • %c — Muotoilee yksittäisiä merkkejä.

  • %s — Muotoilee C-tyylisiä merkkijonoja.

Merkkijonojen yhdistäminen — Yhdistä tekstiä ja arvoja.

  • strcat — Yhdistä C-tyyliset merkkijonot manuaalisesti.

Alimerkkijonojen tarkistus — Testaa tekstin olemassaoloa tai sijaintia.

  • strstr — Etsii merkkijonosta alimerkkijonon.

Escape-sekvenssit — Muotoile tuloste erikoismerkeillä.

  • \n — Lisää rivinvaihdon (uusi rivi).

Numeroiden muotoilu#

C++ käyttää muotoilumäärittelijöitä hallitakseen sitä, miten numerot ja muut tietotyypit näkyvät merkkijonoissa.

Integers#

Muotoilee kokonaislukuarvot käyttämällä %d -muotoilumääritettä.

Format specifiers
%d

Parameters

Tällä muotomäärittimellä ei ole parametreja.

Return Values

Muotoilee kokonaisluvun arvon kokonaisluvuksi merkkijonossa.

Examples
int count = 42;

// Display a single variable 
Brain.Screen.print("Count: %d", count);

int x = 1;
int y = 5;

// Display multiple variables
Brain.Screen.print("Position: (%d, %d)", x, y);

// Display a calculation
Brain.Screen.print("Sum: %d", 5 + 3);

// Display the robot's battery capacity
Brain.Screen.print("Battery: %d%%", Brain.Battery.capacity());

Fixed Decimal Places#

Määrittää, kuinka monella desimaalipisteellä liukuluku näytetään käytettäessä %.xf -muotoa.

Format specifiers
%.xf

Parameters

Parametri

Tyyppi

Kuvaus

x

int

Näytettävien desimaalien määrä.

Return Values

Muotoilee liukulukuarvon määritetyllä määrällä desimaaleja.

Examples
// Display pi with 2 decimal places
double pi = 3.1415926535;
Brain.Screen.print("Pi: %.2f", pi);

Hexadecimal#

Muuntaa luvut heksadesimaalimuotoon käyttäen numeroita %x (pienet kirjaimet) tai %X (isot kirjaimet).

Format specifiers

1 — Muotoilee numerot pieniksi heksadesimaaliluvuiksi.

%x

2 — Muotoilee numerot isoiksi heksadesimaaliluvuiksi.

%X

Parameters

Tällä muotomäärittimellä ei ole parametreja.

Return Values

Muotoilee kokonaislukuarvon heksadesimaalimerkkijonoksi.

Examples
// Convert 255 to hexadecimal
int number = 255;

// Display hexadecimals 
Brain.Screen.print("Hex: %x", number);

Brain.Screen.print("Hex: 0x%X", number);

Characters#

Muotoilee yksittäisiä merkkejä käyttämällä %c -muotoilumääritettä.

Format specifiers
%c

Parameters

Tällä muotomäärittimellä ei ole parametreja.

Return Values

Muotoilee merkin arvon yhdeksi merkiksi.

Examples
char letter = 'A';

// Display a single character variable
Brain.Screen.print("Letter: %c", letter);

Strings#

Muotoilee C-tyylisiä merkkijonoja (merkkitaulukoita) käyttämällä %s -muotoilumääritettä.

Format specifiers
%s

Parameters

Tällä muotomäärittimellä ei ole parametreja.

Return Values

Muotoilee merkkijonon arvon tekstiksi.

Examples
char message[] = "IQ";

// Display a string variable
Brain.Screen.print("Hello, %s", message);

Merkkijonojen yhdistäminen#

Yhdistää kaksi merkkijonoa käyttämällä strcat -funktiota.

Available Functions
char* strcat(char* string1, const char* string2);

Parameters

Parametri

Tyyppi

Kuvaus

string1

char*

Merkkijono, johon lisätään. Uudelle tekstille on oltava tilaa.

string2

const char*

Lisättävä merkkijono.

Return Values

Palauttaa osoittimen tuloksena olevaan merkkijonoon (string1).

Notes
  • Varmista, että merkkijonossa on riittävästi tilaa lisättäville merkeille. Liian lyhyeen merkkijonoon lisätyt merkit voivat korvata muita muuttujia ja aiheuttaa odottamatonta toimintaa.

Examples
// Make sure the variable has enough space
// for all characters (set it to 20)
char message[20] = "Hello,";
strcat(message, " IQ");

// Display the combined strings
Brain.Screen.print("%s", message);

Alimerkkijonojen tarkistus#

Palauttaa osoittimen C-tyylisen merkkijonon ensimmäisen esiintymän sijaintiin toisessa merkkijonossa käyttäen funktiota strstr.

Available Functions
char* strstr(const char* str, const char* substring);

Parameters

Parametri

Tyyppi

Kuvaus

str

const char*

Osoitin etsittävään merkkijonoon.

substring

const char*

Etsittävä merkkijono.

Return Values

Palauttaa osoittimen alimerkkijonon ensimmäiseen esiintymään tai arvon NULL jos merkkijonoa ei löydy.

Examples
char message[] = "Hey everyone!";

// Display if "Hey" is in the variable
if (strstr(message, "Hey") != NULL) {
    Brain.Screen.print("Hello!");
}

Escape-sekvenssit#

Escape-sekvenssit ovat merkkijonojen sisällä käytettäviä erikoismerkkejä tekstitulosteen muotoiluun.

New Line#

Siirtää tekstin uudelle riville tulostettaessa käyttämällä \n -ohjausmerkkijonoa.

Format specifiers
\n

Parameters

Tällä ohjausmerkkijonolla ei ole parametreja.

Return Values

Lisää rivinvaihdon merkin tulosteeseen.

Notes
  • Tämä toimii vain konsolissa. Tekstiä ei lähetetä konsoliin ennen kuin uusi rivi aloitetaan.

Examples
// Display text on two lines
printf("First line\nSecond line\n");