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#
Formats integer values using the %d format specifier.
%d
Este especificador de formato no tiene parámetros.
Return ValuesFormatea el valor entero como un entero en la cadena.
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#
Controls how many decimal places a floating-point number is displayed with using the %.xf format specifier.
%.xf
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El número de decimales a mostrar. |
Formatea el valor de punto flotante con el número de decimales especificado.
Examples// Display pi with 2 decimal places
double pi = 3.1415926535;
Brain.Screen.print("Pi: %.2f", pi);
Hexadecimal#
Converts numbers to hexadecimal representation using %x (lowercase) or %X (uppercase).
1 — Formatea los números como hexadecimales en minúsculas.
%x
Parameters2 — Formatea los números como hexadecimales en mayúsculas.
%X
Este especificador de formato no tiene parámetros.
Return ValuesFormatea el valor entero como una cadena hexadecimal.
Examples// Convert 255 to hexadecimal
int number = 255;
// Display hexadeximals
Brain.Screen.print("Hex: %x", number);
Brain.Screen.print("Hex: 0x%X", number);
Characters#
Formats single characters using the %c format specifier.
%c
Este especificador de formato no tiene parámetros.
Return ValuesFormatea el valor del carácter como un solo carácter.
Exampleschar letter = 'A';
// Display a single character variable
Brain.Screen.print("Letter: %c", letter);
Strings#
Formats C-style strings (character arrays) using the %s format specifier.
%s
Este especificador de formato no tiene parámetros.
Return ValuesFormatea el valor de la cadena como texto.
Exampleschar message[] = "V5";
// Display a string variable
Brain.Screen.print("Hello, %s", message);
Combinando cadenas#
Combines two strings together using the strcat function.
char* strcat(char* string1, const char* string2);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La cadena que se va a añadir. Debe tener espacio para el nuevo texto. |
|
|
La cadena que desea agregar. |
Returns a pointer to the resulting string (string1).
Asegúrese de que la cadena tenga suficiente espacio reservado para los caracteres que se añadirán. Agregar caracteres a una cadena demasiado corta puede sobrescribir otras variables y provocar un comportamiento inesperado.
// 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#
Returns a pointer to the position of the first occurrence of a C-style string in another string using the strstr function.
char* strstr(const char* str, const char* substring);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un puntero a la cadena que se está buscando. |
|
|
La cadena a buscar. |
Returns a pointer to the first occurrence of the substring, or NULL if the string is not found.
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#
Moves text to a new line when printing using the \n escape sequence.
\n
Esta secuencia de escape no tiene parámetros.
Return ValuesInserta un carácter de nueva línea en la salida.
NotesEsto solo funciona en la consola. El texto no se enviará a la consola hasta que se inicie una nueva línea.
// Display text on two lines
printf("First line\nSecond line\n");