کاراکترهای کنترلی در سی پلاس پلاس و سیشارپ
gameover.blog.ir
کاراکترهای کنترلی کاراکترهای ترکیبی هستند که با یک بک اسلش (\) شروع می شوند و به دنبال آنها یک حرف یا عدد می آید و یک رشته را با فرمت خاص نمایش می دهند. برای مثال برای ایجاد یک خط جدید و قرار دادن رشته در آن می توان از کاراکتر کنترلی \n استفاده کرد :
System.Console.WriteLine("Hello\nWorld!");
Hello World
مشاهده کردید که کامپایلر بعد از مواجهه با کاراکتر کنترلی \n نشانگر موس را به خط بعد برده و بقیه رشته را در خط بعد نمایش می دهد. متد WriteLine() هم مانند کاراکتر کنترلی \nیک خط جدید ایجاد می کند ، البته بدین صورت که در انتهای رشته یک کاراکتر کنترلی \n اضافه می کند :
System.Console.WriteLine("Hello World!");
کد بالا و کد زیر هیچ فرقی با هم ندارند :
System.Console.Write("Hello World!\n");
متد Write() کارکردی شبیه به WriteLine() دارد با این تفاوت که نشان گر موس را در همان خط نگه می دارد و خط جدید ایجاد نمی کند. جدول زیر لیست کاراکترهای کنترلی و کارکرد آنها را نشان می دهد :
کاراکتر کنترلی | عملکرد | کاراکتر کنترلی | عملکرد |
\’ | چاپ کوتیشن | \f | Form Feed |
\” | چاپ دابل کوتیشن | \n | خط جدید |
\\ | چاپ بک اسلش | \r | سر سطر رفتن |
\0 | چاپ فضای خالی | \t | حرکت به صورت افقی |
\a | صدای بیپ | \v | حرکت به صورت عمودی |
\b | حرکت به عقب | \u | چاپ کاراکتر یونیکد |
ما برای استفاده از کاراکترهای کنترلی از بک اسلش (\) استفاده می کنیم.از آنجاییکه \ معنای خاصی به رشته ها می دهد برای چاپ بک اسلش (\) باید از (\\) استفاده کنیم :
System.Console.WriteLine("We can print a \\ by using the \\\\ escape sequence.");
We can print a \ by using the \\ escape sequence.
یکی از موارد استفاده از \\ ،نشان دادن مسیر یک فایل در ویندوز است :
System.Console.WriteLine("C:\\Program Files\\Some Directory\\SomeFile.txt");
C:\Program Files\Some Directory\SomeFile.txt
از آنجاییکه از دابل کوتیشن (“) برای نشان دادن رشته ها استفاده می کنیم برای چاپ آن از \”استفاده می کنیم :
System.Console.WriteLine("I said, \"Motivate yourself!\".");
I said, "Motivate yourself!".
همچنین برای چاپ کوتیشن (‘) از \’ استفاده می کنیم :
System.Console.WriteLine("The programmer\'s heaven.");
The programmer's heaven.
برای ایجاد فاصله بین حروف یا کلمات از \t استفاده می شود :
System.Console.WriteLine("Left\tRight");
Left Right
هر تعداد کاراکتر که بعد از کاراکتر کنترلی \r بیایند به اول سطر منتقل و جایگزین کاراکترهای موجود می شوند :
System.Console.WriteLine("Mitten\rK");
Kitten
مثلا در مثال بالا کاراکتر K بعد از کاراکتر کنترلی \r آمده است.کاراکتر کنترلی حرف K را به ابتدای سطر برده و جایگزین حرف M می کند. برای چاپ کاراکترهای یونیکد می توان از \u استفاده کرد. برای استفاده از \u ،مقدار در مبنای 16 کاراکتر را درست بعد از علامت \u قرار می دهیم.برای مثال اگر بخواهیم علامت کپی رایت (©)را چاپ کنیم باید بعد از علامت \u مقدار 00A9 را قرار دهیم مانند :
System.Console.WriteLine("\u00A9");
©
برای مشاهده لیست مقادیر مبنای 16 برای کاراکترهای یونیکد به لینک زیر مراجعه نمایید :
اگر کامپایلر به یک کاراکتر کنترلی غیر مجاز برخورد کند، برنامه پیغام خطا می دهد.بیشترین خطا زمانی اتفاق می افتد که برنامه نویس برای چاپ اسلش (\) از \\ استفاده می کند.
منبع : w3-farsi