Niestandardowe formatowanie ciągu znaków#

Wstęp#

String formatting in C++ for VEX V5 uses printf-style format specifiers to create strings that include variables, expressions, or values. This method uses format specifiers like %d, %f, %s, etc., to insert values into strings.

Formatowanie liczb — wstawianie wartości i wyrażeń do ciągu.

  • %d — Formatuje liczby całkowite.

  • %.xf — Ustawia liczbę miejsc dziesiętnych wyświetlanych dla liczb zmiennoprzecinkowych.

  • %x — Formatuje liczbę jako szesnastkową.

  • %c — Formatuje pojedyncze znaki.

  • %s — Formatuje ciągi znaków w stylu C.

Łączenie ciągów — łączenie tekstu i wartości.

  • strcat — Ręczne łączenie ciągów w stylu C.

Sprawdzanie podciągów — test obecności i położenia tekstu.

  • strstr — Znajduje podciąg w ciągu.

Sekwencje wyjścia — formatowanie wyników przy użyciu znaków specjalnych.

  • \n — Dodaje podział wiersza (nowy wiersz).

Formatowanie liczb#

Język C++ używa specyfikatorów formatu w celu kontrolowania sposobu wyświetlania liczb i innych typów danych w ciągach znaków.

Integers#

Formatuje wartości całkowite przy użyciu specyfikatora formatu %d.

Format specifiers
%d

Parameters

Ten specyfikator formatu nie ma parametrów.

Return Values

Formatuje wartość całkowitą jako liczbę całkowitą w ciągu.

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#

Steruje liczbą miejsc dziesiętnych wyświetlaną w liczbach zmiennoprzecinkowych, używając specyfikatora formatu %.xf.

Format specifiers
%.xf

Parameters

Parametr

Typ

Opis

x

int

Liczba miejsc dziesiętnych do wyświetlenia.

Return Values

Formatuje wartość zmiennoprzecinkową, podając określoną liczbę miejsc dziesiętnych.

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

Hexadecimal#

Konwertuje liczby na system szesnastkowy, używając %x (małe litery) lub %X (wielkie litery).

Format specifiers

1 — Formatuje liczby jako małe litery szesnastkowe.

%x

2 — Formatuje liczby jako wielkie litery szesnastkowe.

%X

Parameters

Ten specyfikator formatu nie ma parametrów.

Return Values

Formatuje wartość całkowitą jako ciąg szesnastkowy.

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

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

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

Characters#

Formatuje pojedyncze znaki używając specyfikatora formatu %c.

Format specifiers
%c

Parameters

Ten specyfikator formatu nie ma parametrów.

Return Values

Formatuje wartość znaku jako pojedynczy znak.

Examples
char letter = 'A';

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

Strings#

Formatuje ciągi znaków w stylu C (tablice znaków) przy użyciu specyfikatora formatu %s.

Format specifiers
%s

Parameters

Ten specyfikator formatu nie ma parametrów.

Return Values

Formatuje wartość ciągu jako tekst.

Examples
char message[] = "V5";

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

Łączenie strun#

Łączy dwa ciągi znaków za pomocą funkcji strcat strcat.

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

Parameters

Parametr

Typ

Opis

string1

char*

Ciąg, do którego ma zostać dodany tekst. Musi być miejsce na nowy tekst.

string2

const char*

Ciąg, który chcesz dodać.

Return Values

Zwraca wskaźnik do wynikowego ciągu (string1).

Notes
  • Upewnij się, że ciąg ma wystarczająco dużo miejsca zarezerwowanego na dodawane znaki. Dodanie zbyt krótkich znaków do ciągu może nadpisać inne zmienne i spowodować nieoczekiwane zachowanie.

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);

Sprawdzanie podciągów#

Zwraca wskaźnik do pozycji pierwszego wystąpienia ciągu w stylu C w innym ciągu przy użyciu funkcji strstr.

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

Parameters

Parametr

Typ

Opis

str

const char*

Wskaźnik do przeszukiwanego ciągu.

substring

const char*

Ciąg znaków do wyszukania.

Return Values

Zwraca wskaźnik do pierwszego wystąpienia podciągu lub NULL jeśli ciąg nie został znaleziony.

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

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

Sekwencje ucieczki#

Sekwencje wyjścia to specjalne znaki używane wewnątrz ciągów znaków w celu formatowania tekstu wyjściowego.

New Line#

Przenosi tekst do nowego wiersza podczas drukowania za pomocą sekwencji wyjścia \n.

Format specifiers
\n

Parameters

Ta sekwencja ucieczki nie ma parametrów.

Return Values

Wstawia znak nowej linii w wynikach.

Notes
  • Działa to tylko na konsoli. Tekst nie zostanie wysłany na konsolę, dopóki nie zostanie rozpoczęty nowy wiersz.

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