تنسيق السلاسل المخصص#
مقدمة#
String formatting in C++ for VEX IQ (2nd gen) 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.
تنسيق الأرقام — إدراج القيم والتعبيرات في سلسلة نصية.
%d— تنسيق الأعداد الصحيحة.%.xf— يحدد عدد المنازل العشرية التي سيتم عرضها للأعداد العشرية.%x— يقوم بتنسيق رقم كنظام سداسي عشري.%c— تنسيق الأحرف المفردة.%s— تنسيق السلاسل النصية على نمط C.
دمج السلاسل النصية — دمج النصوص والقيم.
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#
يقوم بتنسيق السلاسل النصية على نمط لغة C (مصفوفات الأحرف) باستخدام مُحدد التنسيق %s.
%s
لا يحتوي مُحدد التنسيق هذا على معلمات.
Return Valuesيقوم بتنسيق قيمة السلسلة كنص.
Exampleschar message[] = "IQ";
// 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, " IQ");
// Display the combined strings
Brain.Screen.print("%s", message);
التحقق من السلاسل الفرعية#
تُرجع هذه الدالة مؤشرًا إلى موضع أول ظهور لسلسلة نصية على نمط لغة C في سلسلة نصية أخرى باستخدام الدالة strstr .
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");