المتغيرات
فضاءات التسمية
أفعال

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

من cppreference.com
< c‏ | language

يتم استخدام الـEscape sequence لتمثيل بعض الحروف الخاصة بداخل الـ string literals والـ character literals.

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


Escape
sequence
الوصف التمثيل
\' single quote
علامة تنصيص وحيدة
البايت ‎0x27‎ بتكويد الـASCII
\" double quote
علامة تنصيص مزدوجة
البايت ‎0x22‎ بتكويد الـASCII
\? question mark
علامة استفهام
البايت ‎0x3f‎ بتكويد الـASCII
\\ backslash
شرطة مائلة
البايت ‎0x5c‎ بتكويد الـASCII
\a audible bell
صوت جرس
البايت ‎0x07‎ بتكويد الـASCII
\b backspace
مسافة في الاتجاه الغكسي
البايت ‎0x08‎ بتكويد الـASCII
\f form feed - new page
صفحة جديدة
البايت ‎0x0c‎ بتكويد الـASCII
\n line feed - new line
سطر جديد
البايت ‎0x0a‎ بتكويد الـASCII
\r carriage return
الرجوع إلى بداية السطر
البايت ‎0x0d‎ بتكويد الـASCII
\t horizontal tab
جدولة أفقية
البايت ‎0x09‎ بتكويد الـASCII
\v vertical tab
جدولة رأسية
البايت ‎0x0b‎ بتكويد الـASCII
\nnn arbitrary octal value
قيمة ما بالنظام الثماني
البايت ‎nnn‎
\xnn arbitrary hexadecimal value
قيمة مابالنظام الستةعشري
البايت ‎nn‎
\unnnn arbitrary Unicode value
ترميز اليونيكود لمحرف.
ربما تؤول لأكثر من بايت
code point ‎U+nnnn‎
\Unnnnnnnn arbitrary Unicode value
ترميز اليونيكود لمحرف.
ربما تؤول لأكثر من بايت
code point ‎U+nnnnnnnn‎

[تعديل] ملحوظات

تعتبر ‎\0‎ أكثر متسلسلات الهروب الثمانية نفعا نظرا لانها تستخدم كعلامة لنهاية السلاسل النصية ('\0'‎-terminated strings).

علامة نهاية السطر ‎\n‎ لها معنى خاص حيث يجب على الكومبيلر تحويلها إلى صيغة نهاية السطر الخاصة بالنظام عندما يكون الإدخال والإخراج في الوضع النصي (text mode). فمثلا على الويندوز يتم استخدام ‎\r\n‎ للدلالة على سطر جديد. استخدام ‎\n‎ يؤدي إلى استبدالها من قبل الدوال إلى ‎\r\n‎ أثناء المعالجة.

أما في الوضع الثنائي (binary mode) لا تتم أي تحويلات. على معظم الأنظمة الأخرى لا يوجد فرق بين الوضع النصي والثنائي.

الحد الأقصى لمتسلسلات الهروب الثمانية هو 3 أرقام ثمانية (أي من 0 إلى 7). في حالة استخدام حرف أو رقم آخر يتم اعتبار هذا الحرف جزءا منفصلا عن السلسلة.

متسلسلات الهروب الستةعشرية ليس لها طول أقصى ولكنها تنتهي عند أول رقم غير ستةعشري. في حالة أن القيمة لا يمكن تمثيلها كحرف واحد داخل سلسلة الحروف (char أو char16_t أو char32_t أو أو wchar_t) يكون السلوك غير محدد.

[تعديل] مثال

#include <stdio.h>
 
int main(void)
{
    printf("This\nis\na\ntest\n\nShe said, \"How are you?\"\n");
    return 0;
}

الخرج:

This
is
a
test
 
She said, "How are you?"

[تعديل] أنظر أيضا