الحرف الخاص (\t) في لغة C++

Alhrf Alkhas T Fy Lght C



في C++، توفر تسلسلات الهروب طريقة لدمج الأحرف الخاصة داخل سلسلة لا يمكن كتابتها مباشرة بسبب بعض تعارضات بناء الجملة. على سبيل المثال، فكر في كيفية تمثيل علامة تبويب أفقية داخل سلسلة. هذا هو المكان الذي يتم فيه تشغيل تسلسل الهروب '\t'، وإدراج علامة تبويب أفقية في إدخال النص. يضيف تسلسل الهروب '\t' علامة تبويب أفقية إلى السلسلة، مما يوفر طريقة ملائمة لإدراج مسافة ثابتة. إنه مفيد بشكل خاص لتنسيق الإخراج في تطبيقات وحدة التحكم أو في محاذاة النص. في هذا الدليل، سنستكشف وظيفة تسلسل الهروب '\t' في لغة C++ باستخدام أمثلة بسيطة وسهلة الفهم ومفيدة لجعل تنفيذها واضحًا ومفهومًا.

فهم تسلسل الهروب

تسمح تسلسلات الهروب في لغة C++ للأحرف التي تؤدي وظائف التحكم داخل السلاسل بأن تكون جزءًا من النص دون أن يتم الخلط بينها وبين رمز. أحد الأخطاء الشائعة للمبتدئين هو الارتباك حول تضمين علامات الاقتباس داخل سلسلة حرفية. على سبيل المثال، سيؤدي السطر التالي من التعليمات البرمجية إلى حدوث خطأ في الترجمة لأن علامات الاقتباس حول '\t تسلسل الهروب' تنهي السلسلة قبل الأوان:

سلسلة النص = 'هذه المقالة تدور حول استكشاف ' \ ر تسلسل الهروب 'بمساعدة الأمثلة.' ;

لتصحيح ذلك في برنامج C++، سوف نستخدم الشرطة المائلة العكسية '\' كحرف هروب للإشارة إلى المترجم أن الحرف التالي له تفسير خاص. وإليك كيف يتم ذلك:







سلسلة النص = 'هذه المقالة تدور حول استكشاف\' \\ t الهروب من التسلسل\' بمساعدة الأمثلة.' ;

الغوص في الشخصية الخاصة (\t) في C++

يعد التسلسل '\t' أكثر من مجرد أداة تباعد. وهو يمثل حرف جدولة يؤدي إلى انتقال المؤشر إلى علامة التبويب التالية. يعد هذا مفيدًا بشكل خاص لإنشاء عروض نصية منسقة بدقة في التطبيقات الطرفية. بخلاف '\t'، تدعم لغة C++ مجموعة متنوعة من تسلسلات الهروب لأغراض مختلفة - على سبيل المثال، يقوم '\n' بإنشاء سطر جديد. ومع ذلك، في هذه المقالة، سنركز فقط على تسلسل الهروب '\t' في لغة C++ من خلال تقديم أمثلة لتوضيح الغرض منه واستخدامه. سيعطيك هذا المعرفة اللازمة لاستخدام علامة التبويب الأفقية في مهام البرمجة الخاصة بك بشكل فعال. دعونا ننتقل إلى الأمثلة لفهم عمل تسلسل الهروب '\t' في برنامج C++.



مثال 1:

يتضمن مثال التعليمات البرمجية C++ التالي برنامجًا بسيطًا يُستخدم لطباعة النص إلى وحدة التحكم. راجع الكود التالي وسنشرحه بعد ذلك:



#تشمل

استخدام اسم للمحطة ;

كثافة العمليات رئيسي ( ) {

cout << 'هذا هو السطر الأول من النص.' << endl ;

cout << 'هذا هو السطر الثاني من النص. \ ر ' ;

cout << 'هذا الخط يتبعه أ \\ تسلسل الهروب.' ;

يعود 0 ;

}

فيما يلي تفاصيل كل جزء من الكود:





#تشمل يضيف هذا السطر مكتبة iostream إلى البرنامج المطلوب لوظائف الإدخال والإخراج. يحتوي ملف الرأس على تعريفات لكائنات مثل cin وcout وما إلى ذلك.

استخدام اسم للمحطة؛ - يتيح لك هذا الرمز استخدام الأسماء المضمنة في المكتبة القياسية دون إضافة البادئة إليها بـ 'std::'. على سبيل المثال، يمكنك كتابة 'cout' بدلاً من 'std::cout'.



انت مين() { - هذا هو الإعلان ونقطة الدخول للوظيفة الرئيسية لكل برنامج C++. يشير 'int' قبل 'main' عادةً إلى أن الدالة تُرجع قيمة عددية.

cout << 'هذا هو السطر الأول من النص.'< يطبع هذا السطر سلسلة 'هذا هو السطر الأول من النص' على وحدة التحكم. '<<' هو عامل الإدراج. لإدراج سطر جديد، يتم استخدام الحرف 'endl'.

cout << 'هذا هو السطر الثاني من النص.\t'; - هنا، يقوم البرنامج بإخراج سلسلة أخرى وهي 'هذا هو السطر الثاني من النص.\t'. لاحظ '\t' في النهاية. عند طباعته على وحدة التحكم، فإنه يضيف مسافة علامة تبويب أفقية مباشرة بعد النص.

cout << 'هذا السطر متبوع بتسلسل هروب \\t.'; - في هذا السطر، يطبع البرنامج 'هذا السطر متبوع بتسلسل هروب \t'. يتم استخدام تسلسل الهروب '\\t' لتضمين '\t' حرفيًا في الإخراج نظرًا لأن الشرطة المائلة العكسية '\' يتم تخطيها بواسطة شرطة مائلة عكسية أخرى بحيث تتم طباعة '\t' نفسها بدلاً من علامة تبويب أفقية.

العودة 0؛ - يمثل هذا نهاية الوظيفة الرئيسية ويعيد الصفر مما يدل على التنفيذ الناجح للبرنامج. عند تشغيل هذا البرنامج يكون الناتج كما يلي:

مثال 2:

الآن، دعونا نلقي نظرة على مثال آخر ونرى سحر حرف الهروب '\t'. المثال هو برنامج C++ سهل يتضمن مكتبة تدفق الإدخال والإخراج القياسية ويستخدم مساحة الاسم القياسية. تم تصميم البرنامج لطباعة جدول منسق للأسماء والمدينة والبلد المرتبطين بها على وحدة التحكم.

#تشمل

استخدام اسم للمحطة ;

كثافة العمليات رئيسي ( ) {

cout << 'اسم \ ر | \ ر مدينة \ ر | \ ر دولة' << endl ;

cout << '------------------------------------------' << endl ;

cout << 'أليس \ ر | \ ر بكين \ ر | \ ر الصين' << endl ;

cout << 'بوب \ ر | \ ر أوستين \ ر | \ ر أمريكا' << endl ;

cout << 'كاث \ ر | \ ر باريس \ ر | \ ر فرنسا' << endl ;

cout << 'ديفيد \ ر | \ ر ديربان \ ر | \ ر جنوب أفريقيا' << endl ;

cout << '------------------------------------------' << endl ;

يعود 0 ;

}

إليك تفاصيل الكود:

مرة أخرى، #تشمل يتضمن مكتبة iostream لإجراء عمليات الإدخال/الإخراج في C++.

استخدام اسم للمحطة؛ – يسمح باستخدام الكيانات من مساحة الاسم “std” دون الحاجة إلى بادئتها بـ “std::”.

ال انت مين() { هي نقطة الدخول لكل برنامج C++. عند تشغيل البرنامج يبدأ التنفيذ من هنا.

ضمن الوظيفة الرئيسية لدينا ما يلي:

cout << “الاسم\t|\tالمدينة\t|\tالبلد”< يطبع هذا السطر رؤوس الجدول بحرف علامة التبويب '\t' للمحاذاة. يتم استخدام Cout لإخراج وحدة التحكم، ويقوم '\t' بإدراج علامة تبويب أفقية بين النصوص، ويتم استخدام 'endl' لإدراج سطر جديد في النهاية.

cout << '——————————————-'< يطبع هذا الخط فاصلًا مرئيًا، وهو خط من الشرطات، للإشارة إلى نهاية الرأس وفصل الرأس عن البيانات.

تطبع الأسطر الأربعة التالية صفًا من الجدول. تتبع هذه الأسطر نفس التنسيق مع علامات التبويب وهي جزء من إنشاء مخرجات الجدول. بعد كل سطر من البيانات، يتم استخدام 'endl' للانتقال إلى السطر التالي. يقوم سطر cout الأخير مرة أخرى بطباعة الخط الفاصل للإشارة إلى نهاية بيانات الجدول.

العودة 0؛: - يشير هذا السطر إلى التنفيذ الناجح للبرنامج. تشير القيمة المرجعة 0 إلى النجاح.

عندما يتم تجميع هذا البرنامج وتشغيله، ستظهر المخرجات كجدول على وحدة التحكم بأسماء الأفراد والمدن والبلدان التي تتم محاذاتها بدقة في أعمدة مفصولة بأشرطة رأسية (|) وعلامات التبويب. انظر الإخراج التالي:

ملحوظة: تذكر أن المحاذاة الفعلية للنص في وحدة التحكم تعتمد على عرض إعدادات علامة التبويب في وحدة التحكم أو الوحدة الطرفية الخاصة بك والتي يمكن أن تؤدي إلى ظهور اختلافات في الجدول على أنظمة مختلفة.

مثال 3:

يستخدم برنامج C++ البسيط والمثير للاهتمام تسلسلات الهروب لعلامة التبويب '\t' لطباعة شكل معين على الشاشة. يقوم هذا الكود بقياس حجم الماسة بناءً على متغير 'الماس' الذي يحدد الحجم ويمثل عدد الخطوط من مركز الماسة إلى قمتها أو أسفلها. تحقق من الكود المعطى التالي:

#تشمل
استخدام اسم للمحطة ;
كثافة العمليات رئيسي ( ) {
كثافة العمليات الماس = 3 ;
ل ( كثافة العمليات أنا = 1 ; أنا <= الماس ; ++ أنا ) {
ل ( كثافة العمليات ي = 0 ; ي < الماس - أنا ; ++ ي ) {
cout << ' \ ر ' ;
}
ل ( كثافة العمليات ي = 0 ; ي < 2 * أنا - 1 ; ++ ي ) {
cout << '* \ ر ' ; }
cout << endl ;
}
ل ( كثافة العمليات أنا = الماس - 1 ; أنا >= 1 ; -- أنا ) {
ل ( كثافة العمليات ي = 0 ; ي < الماس - أنا ; ++ ي ) {
cout << ' \ ر ' ;
}
ل ( كثافة العمليات ي = 0 ; ي < 2 * أنا - 1 ; ++ ي ) {
cout << '* \ ر ' ; }
cout << endl ;
}
يعود 0 ;
}

كما ترون، يتكون هذا البرنامج من جزأين: أحدهما يطبع النصف العلوي من الماسة والآخر يطبع النصف السفلي. تتم طباعة النصف العلوي من المعين عن طريق إخراج عدد متناقص من علامات التبويب أولاً لإنشاء مسافة بادئة، يليها عدد متزايد من العلامات النجمية '*'، مفصولة بعلامات جدولة. تتم معالجة هذا ضمن حلقة 'for' الأولى.

تتم طباعة النصف السفلي بشكل مشابه، ولكن مع تكرار الحلقات في الاتجاه المعاكس لتقليل عدد العلامات النجمية وزيادة المسافة البادئة مرة أخرى، مما يؤدي إلى إنشاء النصف السفلي من المعين. تتم معالجة هذا في الحلقة الثانية 'for'.

عند تشغيل البرنامج باستخدام 'diamond= 3'، يبدو الناتج مثل الماس الذي يتمركز في وسط الشاشة بسبب أحرف علامة التبويب. شاهد مخرجات هذا البرنامج بالذات:

  تم إنشاء الوصف تلقائيًا لمجموعة من النجوم الصغيرة باللونين الأسود والأزرق

يرجى ملاحظة أن المظهر الفعلي قد يختلف اعتمادًا على وحدة التحكم أو الجهاز الذي تستخدمه حيث يمكن أن يختلف عرض علامة التبويب.

خاتمة

تعد تسلسلات الهروب في لغة C++ أداة قوية لتمثيل الأحرف التي لا يمكن عرضها بسهولة في نافذة الإخراج القياسية. ومن بين هذه التسلسلات، تعد علامة التبويب الأفقية، التي يُشار إليها بـ '\t'، مفيدة بشكل خاص لإضافة المسافات الأفقية التي يمكن التحكم فيها في النص. باستخدام '\t'، يمكن للمبرمجين محاذاة مخرجات النص الخاصة بهم، وتعزيز سهولة القراءة، وتنظيم البيانات بشكل منهجي. يقلد هذا الحرف الضغط على مفتاح 'tab' على لوحة المفاتيح، مما يؤدي إلى تقدم المؤشر إلى موضع علامة التبويب التالية. في هذه المقالة، استكشفنا وظيفة تسلسل الهروب '\t' داخل لغة C++، مع تسليط الضوء على تطبيقه بأمثلة مباشرة وعملية لتوضيح سلوكه.