Aangepaste tekenreeksopmaak#

Invoering#

Stringopmaak in C++ voor VEX EXP gebruikt printf-achtige opmaakspecificaties om strings te maken die variabelen, expressies of waarden bevatten. Deze methode gebruikt opmaakspecificaties zoals %d, %f, %s, enzovoort, om waarden in strings in te voegen.

Getallen opmaken — Waarden en expressies invoegen in een tekenreeks.

  • %d — Formatteert gehele getallen.

  • %.xf — Stelt het aantal decimalen in dat voor drijvende-kommagetallen wordt weergegeven.

  • %x — Formatteert een getal als hexadecimaal.

  • %c — Formatteert afzonderlijke tekens.

  • %s — Formatteert C-stijl strings.

Tekstreeksen combineren — Combineer tekst en waarden.

  • strcat — C-stijl strings handmatig samenvoegen.

Controleren op subtekenreeksen — Testen op de aanwezigheid of positie van tekst.

  • strstr — Zoekt een substring binnen een string.

Escape-sequenties — Formatteer de uitvoer met speciale tekens.

  • \n — Voegt een regelovergang (nieuwe regel) toe.

Getallen formatteren#

C++ gebruikt formaatspecificaties om te bepalen hoe getallen en andere gegevenstypen in tekenreeksen worden weergegeven.

Integers#

Formatteert gehele getallen met behulp van de formaatspecificatie %d.

Format specifiers
%d

Parameters

Deze formaatspecificatie heeft geen parameters.

Return Values

Formatteert de integerwaarde als een integer in de tekenreeks.

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#

Hiermee wordt bepaald hoeveel decimalen een drijvende-komma getal weergeeft met behulp van de formaatspecificatie %.xf.

Format specifiers
%.xf

Parameters

Parameter

Type

Beschrijving

x

int

Het aantal decimalen dat moet worden weergegeven.

Return Values

Formatteert de drijvende-kommawaarde met het opgegeven aantal decimalen.

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

Hexadecimal#

Converteert getallen naar hexadecimale weergave met behulp van %x (kleine letters) of %X (hoofdletters).

Format specifiers

1 — Formatteert getallen als kleine hexadecimale getallen.

%x

2 — Formatteert getallen als hoofdletters in hexadecimale vorm.

%X

Parameters

Deze formaatspecificatie heeft geen parameters.

Return Values

Formatteert de integerwaarde als een hexadecimale tekenreeks.

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

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

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

Characters#

Formatteert afzonderlijke tekens met behulp van de opmaakspecificatie %c.

Format specifiers
%c

Parameters

Deze formaatspecificatie heeft geen parameters.

Return Values

Formatteert de tekenwaarde als één enkel teken.

Examples
char letter = 'A';

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

Strings#

Formatteert C-stijl strings (tekenreeksen) met behulp van de %s formaatspecificatie.

Format specifiers
%s

Parameters

Deze formaatspecificatie heeft geen parameters.

Return Values

Formatteert de tekenreekswaarde als tekst.

Examples
char message[] = "EXP";

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

Strings combineren#

Combineert twee tekenreeksen met behulp van de functie strcat.

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

Parameters

Parameter

Type

Beschrijving

string1

char*

De tekenreeks waaraan de tekst moet worden toegevoegd. Er moet ruimte zijn voor de nieuwe tekst.

string2

const char*

De tekenreeks die je wilt toevoegen.

Return Values

Retourneert een pointer naar de resulterende string (string1).

Notes
  • Zorg ervoor dat er voldoende ruimte in de tekenreeks is gereserveerd voor de tekens die worden toegevoegd. Het toevoegen van tekens aan een te kleine tekenreeks kan andere variabelen overschrijven en onverwacht gedrag veroorzaken.

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

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

Controleren op subtekenreeksen#

Retourneert een aanwijzer naar de positie van de eerste keer dat een C-stijl tekenreeks voorkomt in een andere tekenreeks met behulp van de functie strstr.

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

Parameters

Parameter

Type

Beschrijving

str

const char*

Een verwijzing naar de gezochte tekenreeks.

substring

const char*

De zoekterm.

Return Values

Retourneert een pointer naar de eerste voorkomst van de substring, of NULL als de string niet wordt gevonden.

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

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

Ontsnappingssequenties#

Escape-reeksen zijn speciale tekens die in tekenreeksen worden gebruikt om tekstuitvoer te formatteren.

New Line#

Verplaatst tekst naar een nieuwe regel bij het afdrukken met behulp van de escape-reeks \n.

Format specifiers
\n

Parameters

Deze escape-sequentie heeft geen parameters.

Return Values

Voegt een regelovergangsteken in de uitvoer in.

Notes
  • Dit werkt alleen in de console. Tekst wordt pas naar de console verzonden als er een nieuwe regel wordt gestart.

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