Formato de cadena personalizado#
Introducción#
El formato de cadena en C++ para VEX EXP utiliza especificadores de formato deestilo printf para crear cadenas que incluyen variables, expresiones o valores. Este método utiliza especificadores de formato como %d %f, %s, etc., para insertar valores en cadenas.
Formato de números: inserte valores y expresiones en una cadena.
%d— Formatos enteros.%.xf— Establece el número de decimales que se mostrarán para los flotantes.%x— Formatea un número como hexadecimal.%c— Formatea caracteres individuales.%s— Formatea cadenas de estilo C.
Combinar cadenas — Combinar texto y valores.
strcat— Concatenar cadenas de estilo C manualmente.
Comprobación de subcadenas: prueba de presencia o posición del texto.
strstr— Encuentra una subcadena dentro de una cadena.
Secuencias de escape — Formato de salida con caracteres especiales.
\n— Añade un salto de línea (nueva línea).
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#
Formatea valores enteros utilizando el especificador de %d formato.
%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#
Controla con cuántos decimales se muestra un número de punto flotante usando el especificador de formato %.xf.
%.xf
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El número de decimales a mostrar. |
Formatea el valor de coma flotante con el número especificado de decimales.
Examples// Display pi with 2 decimal places
double pi = 3.1415926535;
Brain.Screen.print("Pi: %.2f", pi);
Hexadecimal#
Convierte números a representación hexadecimal usando %x (minúsculas) o %X (mayúsculas).
1 — Formatea los números en minúsculas hexadecimales.
%x
Parameters2 — Formatea los números en mayúsculas hexadecimales.
%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 hexadecimals
Brain.Screen.print("Hex: %x", number);
Brain.Screen.print("Hex: 0x%X", number);
Characters#
Formatea caracteres individuales utilizando el especificador de %c formato.
%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#
Formatea cadenas de estilo C (matrices de caracteres) utilizando el especificador de %s formato.
%s
Este especificador de formato no tiene parámetros.
Return ValuesFormatea el valor de la cadena como texto.
Exampleschar message[] = "EXP";
// Display a string variable
Brain.Screen.print("Hello, %s", message);
Combinación de cadenas#
Combina dos cadenas usando la función strcat.
char* strcat(char* string1, const char* string2);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La cadena a agregar. Debe haber espacio para el nuevo texto. |
|
|
La cadena que desea agregar. |
Devuelve un puntero a la cadena resultante (string1).
Asegúrese de que la cadena tenga suficiente espacio reservado para los caracteres que se van a añadir. Agregar caracteres a una cadena que es demasiado pequeña puede sobrescribir otras variables y causar un comportamiento inesperado.
// 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);
Comprobación de subcadenas#
Devuelve un puntero a la posición de la primera aparición de una cadena de estilo C en otra cadena utilizando la función strstr.
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. |
Devuelve un puntero a la primera aparición de la subcadena, o NULL si no se encuentra la cadena.
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 las cadenas para dar formato a la salida de texto.
New Line#
Mueve el texto a una nueva línea al imprimir usando la secuencia de \n escape.
\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");