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.

Format specifiers
%d

Parameters

Este especificador de formato no tiene parámetros.

Return Values

Formatea el valor entero como un entero en la cadena.

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#

Controls how many decimal places a floating-point number is displayed with using the %.xf format specifier.

Format specifiers
%.xf

Parameters

Parámetro

Tipo

Descripción

x

int

El número de decimales a mostrar.

Return Values

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

Format specifiers

1 Formatea los números como hexadecimales en minúsculas.

%x

2 Formatea los números como hexadecimales en mayúsculas.

%X

Parameters

Este especificador de formato no tiene parámetros.

Return Values

Formatea 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.

Format specifiers
%c

Parameters

Este especificador de formato no tiene parámetros.

Return Values

Formatea el valor del carácter como un solo carácter.

Examples
char 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.

Format specifiers
%s

Parameters

Este especificador de formato no tiene parámetros.

Return Values

Formatea el valor de la cadena como texto.

Examples
char message[] = "V5";

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

Combinando cadenas#

Combines two strings together using the strcat function.

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

Parameters

Parámetro

Tipo

Descripción

string1

char*

La cadena que se va a añadir. Debe tener espacio para el nuevo texto.

string2

const char*

La cadena que desea agregar.

Return Values

Returns a pointer to the resulting string (string1).

Notes
  • 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.

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

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.

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

Parameters

Parámetro

Tipo

Descripción

str

const char*

Un puntero a la cadena que se está buscando.

substring

const char*

La cadena a buscar.

Return Values

Returns a pointer to the first occurrence of the substring, or NULL if the string is not found.

Examples
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.

Format specifiers
\n

Parameters

Esta secuencia de escape no tiene parámetros.

Return Values

Inserta un carácter de nueva línea en la salida.

Notes
  • Esto solo funciona en la consola. El texto no se enviará a la consola hasta que se inicie una nueva línea.

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