Aangepaste tekenreeksopmaak#
Invoering#
Stringopmaak in C++ voor VEX IQ (2e generatie) gebruikt opmaakspecificaties in de stijl van printfom 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.
%d
Deze formaatspecificatie heeft geen parameters.
Return ValuesFormatteert de integerwaarde als een integer in de tekenreeks.
Examplesint 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.
%.xf
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Het aantal decimalen dat moet worden weergegeven. |
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).
1 — Formatteert getallen als kleine hexadecimale getallen.
%x
Parameters2 — Formatteert getallen als hoofdletters in hexadecimale vorm.
%X
Deze formaatspecificatie heeft geen parameters.
Return ValuesFormatteert 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.
%c
Deze formaatspecificatie heeft geen parameters.
Return ValuesFormatteert de tekenwaarde als één enkel teken.
Exampleschar 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.
%s
Deze formaatspecificatie heeft geen parameters.
Return ValuesFormatteert de tekenreekswaarde als tekst.
Exampleschar message[] = "IQ";
// Display a string variable
Brain.Screen.print("Hello, %s", message);
Strings combineren#
Combineert twee tekenreeksen met behulp van de functie strcat.
char* strcat(char* string1, const char* string2);
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De tekenreeks waaraan de tekst moet worden toegevoegd. Er moet ruimte zijn voor de nieuwe tekst. |
|
|
De tekenreeks die je wilt toevoegen. |
Retourneert een pointer naar de resulterende string (string1).
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.
// 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);
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.
char* strstr(const char* str, const char* substring);
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een verwijzing naar de gezochte tekenreeks. |
|
|
De zoekterm. |
Retourneert een pointer naar de eerste voorkomst van de substring, of NULL als de string niet wordt gevonden.
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.
\n
Deze escape-sequentie heeft geen parameters.
Return ValuesVoegt een regelovergangsteken in de uitvoer in.
NotesDit werkt alleen in de console. Tekst wordt pas naar de console verzonden als er een nieuwe regel wordt gestart.
// Display text on two lines
printf("First line\nSecond line\n");