Formato de cadena personalizado#
Introducción#
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.
Formatear números: insertar valores y expresiones en una cadena.
%d— Formats integers.%.xf— Sets the number of decimal places to show for floats.%x— Formats a number as hexadecimal.%c— Formats single characters.%s— Formats C-style strings.
Combinar cadenas: combinar texto y valores.
strcat— Concatenate C-style strings manually.
Comprobación de subcadenas: prueba la presencia o posición del texto.
strstr— Finds a substring within a string.
Secuencias de escape: formatear la salida con caracteres especiales.
\n— Adds a line break (new line).
Formato de números#
C++ utiliza especificadores de formato para controlar cómo aparecen los números y otros tipos de datos en las cadenas.
Integers#
%d formats integer values.
Usage:
%d
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
int count = 42;
// Display a single variable
Brain.Screen.print("Count: %d", count);
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
int x = 1;
int y = 5;
// Display multiple variables
Brain.Screen.print("Position: (%d, %d)", x, y);
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Display a calculation
Brain.Screen.print("Sum: %d", 5 + 3);
}
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Display the robot's battery capacity
Brain.Screen.print("Battery: %d%%", Brain.Battery.capacity());
}
Fixed Decimal Places#
%.xf controls how many decimal places a floating-point number is displayed with.
Usage:
%.xf
Parámetros |
Descripción |
|---|---|
|
El número de decimales a mostrar. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Display pi with 2 decimal places
double pi = 3.1415926535;
Brain.Screen.print("Pi: %.2f", pi);
}
Hexadecimal#
%x converts numbers to hexadecimal (lowercase) or %X for uppercase.
Usage:
%x or %X
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Convert 255 to hexadecimal
int number = 255;
// Display hexadeximals
Brain.Screen.print("Hex: %x", number);
Brain.Screen.print("Hex: 0x%X", number);
}
Characters#
%c formats single characters.
Usage:
%c
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
char letter = 'A';
// Display a single character variable
Brain.Screen.print("Letter: %c", letter);
}
Strings#
%s formats C-style strings (character arrays).
Usage:
%s
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
char message[] = "V5";
// Display a string variable
Brain.Screen.print("Hello, %s", message);
}
Combinando cadenas#
strcat can combine two strings together.
Nota: Asegúrese de que la cadena tenga suficiente espacio reservado para los caracteres que se van a añadir. Añadir caracteres a una cadena demasiado pequeña puede sobrescribir otras variables y causar un comportamiento inesperado.
Usage:
strcat(string1, string2)
Parámetros |
Descripción |
|---|---|
|
La cadena que se va a añadir. Debe tener espacio para el nuevo texto. |
|
La cadena que desea agregar. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// 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);
}
Comprobación de subcadenas#
strstr returns a pointer to the position of the first occurrence of a C-style string in another string. This will return NULL if the string is not found.
Usage:
strstr(str, substring)
Parámetros |
Descripción |
|---|---|
|
Un puntero a la cadena que se está buscando. |
|
La cadena a buscar. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
char message[] = "Hey everyone!";
// Display if "Hey" is in the variable
if (strstr(message, "Hey") != NULL) {
Brain.Screen.print("Hello!");
}
}
Secuencias de escape#
Las secuencias de escape son caracteres especiales que se utilizan dentro de cadenas para dar formato a la salida de texto.
New Line#
\n moves text to a new line when printing.
Nota: Esto solo funciona en la consola. El texto no se enviará a la consola hasta que se inicie una nueva línea.
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
int main() {
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
// Display text on two lines
printf("First line\nSecond line\n");
}