自訂字串格式#
介紹#
在 C++ 中 VEX EXP 的字串格式化使用 printf的格式說明符來建立包含變數、表達式或值的字串。此方法使用類似 %d %f%s的格式說明符將值插入字串中。
格式化數字-在字串中插入值和表達式。
合併字串 — 將文字和值合併在一起。
strcat— 手動連接 C 風格的字串。
檢查子字串-測試文字是否存在或位置。
strstr— 在字串中尋找子字串。
轉義序列-用於格式化包含特殊字元的輸出。
\n— 新增換行符號(新行)。
數位格式化#
C++ 使用格式說明符來控制數字和其他資料類型在字串中的顯示方式。
Integers#
使用 %d 格式說明符格式化整數值。
%d
此格式說明符沒有參數。
Return Values將整數值格式化為字串中的整數。
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#
使用 %.xf 格式說明符控制浮點數顯示的小數位數。
%.xf
範圍 |
類型 |
描述 |
|---|---|---|
|
|
要顯示的小數位數。 |
將浮點值格式化為指定的小數位數。
Examples// Display pi with 2 decimal places
double pi = 3.1415926535;
Brain.Screen.print("Pi: %.2f", pi);
Hexadecimal#
將數字轉換為十六進位表示,使用 %x (小寫)或 %X (大寫)。
1 — 將數字格式化為小寫十六進位。
%x
Parameters2 — 將數字格式化為大寫十六進位。
%X
此格式說明符沒有參數。
Return Values將整數值格式化為十六進位字串。
Examples// Convert 255 to hexadecimal
int number = 255;
// Display hexadecimals
Brain.Screen.print("Hex: %x", number);
Brain.Screen.print("Hex: 0x%X", number);
Characters#
使用 %c 格式說明符格式化單一字元。
%c
此格式說明符沒有參數。
Return Values將字元值格式化為單一字元。
Exampleschar letter = 'A';
// Display a single character variable
Brain.Screen.print("Letter: %c", letter);
Strings#
使用 %s 格式說明符格式化 C 風格的字串(字元陣列)。
%s
此格式說明符沒有參數。
Return Values將字串值格式化為文字。
Exampleschar message[] = "EXP";
// Display a string variable
Brain.Screen.print("Hello, %s", message);
字串合併#
使用 strcat 將兩個字串合併在一起。
char* strcat(char* string1, const char* string2);
範圍 |
類型 |
描述 |
|---|---|---|
|
|
要新增內容的字串。必須留有空間容納新文字。 |
|
|
你想添加的字串。 |
傳回指向結果字串的指標(string1)。
請確保字串預留足夠的空間來容納要新增的字元。如果字串過小,添加字元可能會覆蓋其他變量,導致意外行為。
// 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);
檢查子字串#
使用 strstr 傳回指向另一個字串中 C 風格字串首次出現位置的指標。
char* strstr(const char* str, const char* substring);
範圍 |
類型 |
描述 |
|---|---|---|
|
|
指向要搜尋的字串的指標。 |
|
|
要搜尋的字串。 |
傳回指向子字串首次出現位置的指針,如果找不到字串,則傳回 NULL。
char message[] = "Hey everyone!";
// Display if "Hey" is in the variable
if (strstr(message, "Hey") != NULL) {
Brain.Screen.print("Hello!");
}
轉義序列#
轉義序列是字串中用於格式化文字輸出的特殊字元。
New Line#
使用 \n 轉義序列在列印時將文字移到新行。
\n
此轉義序列沒有參數。
Return Values在輸出中插入換行符。
Notes此功能僅適用於控制台。文字只有在換行符號出現後才會傳送到控制台。
// Display text on two lines
printf("First line\nSecond line\n");