Προσαρμοσμένη μορφοποίηση συμβολοσειρών#

Εισαγωγή#

Η μορφοποίηση συμβολοσειρών σε C++ για VEX V5 χρησιμοποιεί προσδιοριστές μορφοποίησης printf-style για τη δημιουργία συμβολοσειρών που περιλαμβάνουν μεταβλητές, εκφράσεις ή τιμές. Αυτή η μέθοδος χρησιμοποιεί προσδιοριστές μορφοποίησης όπως %d, %f, %s, κ.λπ., για την εισαγωγή τιμών σε συμβολοσειρές.

Μορφοποίηση αριθμών — Εισαγωγή τιμών και παραστάσεων σε μια συμβολοσειρά.

  • %d — Μορφοποιεί ακέραιους αριθμούς.

  • %.xf — Ορίζει τον αριθμό των δεκαδικών ψηφίων που θα εμφανίζονται για τους αριθμούς κινητής υποδιαστολής.

  • %x — Μορφοποιεί έναν αριθμό ως δεκαεξαδικό.

  • %c — Μορφοποιεί μεμονωμένους χαρακτήρες.

  • %s — Μορφοποιεί συμβολοσειρές τύπου C.

Συνδυασμός συμβολοσειρών — Συνδυάστε κείμενο και τιμές.

  • strcat — Συνδέστε συμβολοσειρές τύπου C χειροκίνητα.

Έλεγχος για υποσυμβολοσειρές — Έλεγχος για παρουσία ή θέση κειμένου.

  • strstr — Εντοπίζει μια δευτερεύουσα συμβολοσειρά μέσα σε μια συμβολοσειρά.

Ακολουθίες διαφυγής — Μορφοποίηση εξόδου με ειδικούς χαρακτήρες.

  • \n — Προσθέτει αλλαγή γραμμής (νέα γραμμή).

Μορφοποίηση αριθμών#

Η C++ χρησιμοποιεί προσδιοριστές μορφοποίησης για να ελέγχει τον τρόπο με τον οποίο εμφανίζονται οι αριθμοί και άλλοι τύποι δεδομένων σε συμβολοσειρές.

Integers#

Μορφοποιεί ακέραιες τιμές χρησιμοποιώντας τον προσδιοριστή μορφοποίησης %d.

Format specifiers
%d

Parameters

Αυτός ο προσδιοριστής μορφής δεν έχει παραμέτρους.

Return Values

Μορφοποιεί την ακέραια τιμή ως ακέραιο αριθμό στη συμβολοσειρά.

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#

Ελέγχει τον αριθμό δεκαδικών ψηφίων με τον οποίο εμφανίζεται ένας αριθμός κινητής υποδιαστολής χρησιμοποιώντας τον προσδιοριστή μορφής %.xf.

Format specifiers
%.xf

Parameters

Παράμετρος

Τύπος

Περιγραφή

x

int

Ο αριθμός των δεκαδικών ψηφίων που θα εμφανιστούν.

Return Values

Μορφοποιεί την τιμή κινητής υποδιαστολής με τον καθορισμένο αριθμό δεκαδικών ψηφίων.

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

Hexadecimal#

Μετατρέπει αριθμούς σε δεκαεξαδική αναπαράσταση χρησιμοποιώντας %x (πεζά) ή %X (κεφαλαία).

Format specifiers

1 — Μορφοποιεί τους αριθμούς ως πεζούς δεκαεξαδικούς αριθμούς.

%x

2 — Μορφοποιεί τους αριθμούς ως κεφαλαία δεκαεξαδικά.

%X

Parameters

Αυτός ο προσδιοριστής μορφής δεν έχει παραμέτρους.

Return Values

Μορφοποιεί την ακέραια τιμή ως δεκαεξαδική συμβολοσειρά.

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

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

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

Characters#

Μορφοποιεί μεμονωμένους χαρακτήρες χρησιμοποιώντας τον προσδιοριστή μορφοποίησης %c.

Format specifiers
%c

Parameters

Αυτός ο προσδιοριστής μορφής δεν έχει παραμέτρους.

Return Values

Μορφοποιεί την τιμή του χαρακτήρα ως έναν μόνο χαρακτήρα.

Examples
char letter = 'A';

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

Strings#

Μορφοποιεί συμβολοσειρές τύπου C (πίνακες χαρακτήρων) χρησιμοποιώντας τον προσδιοριστή μορφής %s.

Format specifiers
%s

Parameters

Αυτός ο προσδιοριστής μορφής δεν έχει παραμέτρους.

Return Values

Μορφοποιεί την τιμή συμβολοσειράς ως κείμενο.

Examples
char message[] = "V5";

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

Συνδυασμός χορδών#

Συνδυάζει δύο συμβολοσειρές χρησιμοποιώντας τη συνάρτηση strcat.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

string1

char*

Η συμβολοσειρά στην οποία θα προστεθεί. Πρέπει να υπάρχει χώρος για το νέο κείμενο.

string2

const char*

Η συμβολοσειρά που θέλετε να προσθέσετε.

Return Values

Επιστρέφει έναν δείκτη στην προκύπτουσα συμβολοσειρά (string1).

Notes
  • Βεβαιωθείτε ότι η συμβολοσειρά έχει αρκετό χώρο για τους χαρακτήρες που προστίθενται. Η προσθήκη χαρακτήρων σε μια συμβολοσειρά που είναι πολύ μικρή μπορεί να αντικαταστήσει άλλες μεταβλητές και να προκαλέσει μη αναμενόμενη συμπεριφορά.

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

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

Έλεγχος για υποσυμβολοσειρές#

Επιστρέφει έναν δείκτη στη θέση της πρώτης εμφάνισης μιας συμβολοσειράς τύπου C σε μια άλλη συμβολοσειρά χρησιμοποιώντας τη συνάρτηση strstr.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

str

const char*

Ένας δείκτης προς τη συμβολοσειρά που αναζητείται.

substring

const char*

Η συμβολοσειρά που θα αναζητηθεί.

Return Values

Επιστρέφει έναν δείκτη στην πρώτη εμφάνιση της δευτερεύουσας συμβολοσειράς ή NULL εάν η συμβολοσειρά δεν βρεθεί.

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

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

Ακολουθίες διαφυγής#

Οι ακολουθίες διαφυγής είναι ειδικοί χαρακτήρες που χρησιμοποιούνται μέσα σε συμβολοσειρές για τη μορφοποίηση του κειμένου εξόδου.

New Line#

Μετακινεί το κείμενο σε νέα γραμμή κατά την εκτύπωση χρησιμοποιώντας την ακολουθία διαφυγής \n.

Format specifiers
\n

Parameters

Αυτή η ακολουθία διαφυγής δεν έχει παραμέτρους.

Return Values

Εισάγει έναν χαρακτήρα νέας γραμμής στην έξοδο.

Notes
  • Αυτό λειτουργεί μόνο στην κονσόλα. Το κείμενο δεν θα αποστέλλεται στην κονσόλα μέχρι να ξεκινήσει μια νέα γραμμή.

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