Egyéni karakterlánc-formázás#
Bevezetés#
A C+±ban a VEX EXP-hez használt sztringformázás printfstílusú formátumleírókat használ változókat, kifejezéseket vagy értékeket tartalmazó sztringek létrehozásához. Ez a metódus olyan formátumleírókat használ, mint %d, %f, %sstb., értékek sztringekbe való beszúrásához.
Számok formázása — Értékek és kifejezések beszúrása egy karakterláncba.
%d— Egész számokat formáz.%.xf— Beállítja az úszópontok esetén megjelenítendő tizedesjegyek számát.%x— Hexadecimális formátumba konvertálja a számot.%c— Egyedi karaktereket formáz.%s— C stílusú karakterláncokat formáz.
Karakterláncok kombinálása — Szöveg és értékek kombinálása.
strcat— C stílusú karakterláncok manuális összefűzése.
Alkarakterláncok keresése — Szöveg jelenlétének vagy pozíciójának tesztelése.
strstr— Egy karakterláncon belüli alkarakterláncot keres.
Escape szekvenciák – Kimenet formázása speciális karakterekkel.
\n— Sortörést (új sort) ad hozzá.
Számok formázása#
A C++ formátumleírókat használ a számok és más adattípusok karakterláncokban való megjelenésének szabályozására.
Integers#
Egész értékeket formáz a %d formátumleíró használatával.
%d
Ennek a formátumleírónak nincsenek paraméterei.
Return ValuesAz egész számot a karakterláncban lévő egész számként formázza.
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#
Azt szabályozza, hogy egy lebegőpontos szám hány tizedesjegynyi pontossággal jelenjen meg a %.xf formátumleíró használatával.
%.xf
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A megjelenítendő tizedesjegyek száma. |
A lebegőpontos értéket a megadott számú tizedesjegyre formázza.
Examples// Display pi with 2 decimal places
double pi = 3.1415926535;
Brain.Screen.print("Pi: %.2f", pi);
Hexadecimal#
A számokat hexadecimális formátumba konvertálja %x (kisbetűs) vagy %X (nagybetűs) alakban.
1 — A számokat kisbetűs hexadecimális formátumban formázza.
%x
Parameters2 — A számokat nagybetűs hexadecimális formátumban formázza.
%X
Ennek a formátumleírónak nincsenek paraméterei.
Return ValuesAz egész értéket hexadecimális karakterláncként formázza.
Examples// Convert 255 to hexadecimal
int number = 255;
// Display hexadecimals
Brain.Screen.print("Hex: %x", number);
Brain.Screen.print("Hex: 0x%X", number);
Characters#
Az egyes karaktereket a %c formátumleíró használatával formázza.
%c
Ennek a formátumleírónak nincsenek paraméterei.
Return ValuesA karakterértéket egyetlen karakterként formázza.
Exampleschar letter = 'A';
// Display a single character variable
Brain.Screen.print("Letter: %c", letter);
Strings#
C stílusú karakterláncokat (karaktertömböket) formáz a %s formátumleíró használatával.
%s
Ennek a formátumleírónak nincsenek paraméterei.
Return ValuesSzövegként formázza a karakterlánc értékét.
Exampleschar message[] = "EXP";
// Display a string variable
Brain.Screen.print("Hello, %s", message);
Karakterláncok kombinálása#
Két karakterláncot egyesít a strcat függvénnyel.
char* strcat(char* string1, const char* string2);
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
A hozzáadandó karakterlánc. Kell, hogy legyen hely az új szövegnek. |
|
|
A hozzáadni kívánt karakterlánc. |
Visszaad egy mutatót az eredményül kapott karakterláncra (string1).
Győződjön meg arról, hogy a karakterláncban elegendő hely van lefoglalva a hozzáfűzendő karakterek számára. A túl rövid karakterek hozzáadása egy karakterlánchoz felülírhatja a többi változót, és váratlan viselkedést okozhat.
// 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);
Alkarakterláncok keresése#
Egy C stílusú karakterlánc egy másik karakterláncban való első előfordulásának pozíciójára mutató mutatót ad vissza a strstr függvény használatával.
char* strstr(const char* str, const char* substring);
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy mutató a keresett karakterláncra. |
|
|
A keresendő karakterlánc. |
Visszaad egy mutatót az alkarakterlánc első előfordulására, vagy NULL értéket, ha a karakterlánc nem található.
char message[] = "Hey everyone!";
// Display if "Hey" is in the variable
if (strstr(message, "Hey") != NULL) {
Brain.Screen.print("Hello!");
}
Escape szekvenciák#
Az escape szekvenciák speciális karakterek, amelyeket karakterláncokon belül használnak a szövegkimenet formázására.
New Line#
A \n escape-szekvenciával nyomtatva új sorba helyezi a szöveget.
\n
Ennek az escape-szekvenciának nincsenek paraméterei.
Return ValuesBeszúr egy új sor karaktert a kimenetbe.
NotesEz csak a konzolon működik. A szöveg nem kerül a konzolra, amíg új sort nem kezdünk.
// Display text on two lines
printf("First line\nSecond line\n");