C ++ سٹرنگ لٹریل کا استعمال کیسے کریں۔

How Use C String Literal



کمپیوٹر کی بورڈ پر حروف چھپے ہوئے ہیں۔ جب آپ ایک کلید دباتے ہیں ، آپ کو اسکرین پر کردار نظر آتا ہے۔ نوٹ: خلا بھی ایک کردار ہے۔ سٹرنگ لیٹرل حروف کی ترتیب ہے۔ یہ مضمون وضاحت کرتا ہے کہ C ++ سٹرنگ لیٹرلز کو کیسے استعمال کیا جائے۔ اس مضمون کو سمجھنے کے لیے آپ کو C ++ صفوں اور اشاروں کے بارے میں جاننا چاہیے۔

کریکٹر لٹریل۔

ایک لفظی حرف واحد اقتباسات میں ایک کردار ہے۔ تو ،







چارشناخت 1= 'سے'؛ چارشناخت 2= 'ب'؛ چارشناخت 3۔= '4'؛ چارشناخت 4۔= '6'؛

حروف کی تمام مختلف تعریفیں ہیں۔ نوٹ کریں کہ سنگل حوالوں میں ایک ہندسہ ایک حرف ہے نہ کہ عدد۔



ایک فرار کی ترتیب جیسے quotes (نیچے ملاحظہ کریں) سنگل حوالوں میں ، ایک کردار ہے۔ تو ،



چارشناخت 1= ''؛

ایک کردار ہے





ڈبل کوٹس میں ایک علامت ایک حرف نہیں ہے۔ یہ ایک حرف کا تار ہے۔ تو A یا c یا 2 ایک حرف نہیں ہے بلکہ ہر ایک حرف کا تار ہے۔

چار کے متغیر کو دوبارہ تفویض کیا جاسکتا ہے ، بعد میں پروگرام میں ، ذیل میں:



چارشناخت= 'ایکس'؛
شناخت= 'اور'؛

کسی شناخت کنندہ کو تفویض کردہ کردار کو تبدیل ہونے سے روکنے کے لیے ، بعد میں پروگرام میں ، مخصوص لفظ ، const کے ساتھ تعریف سے پہلے درج ذیل:

const چارشناخت= 'ڈی'؛

کہا جاتا ہے کہ متغیر ، شناخت صرف پڑھنے کے لیے ہے۔

سٹرنگ لٹریل۔

سٹرنگ لیٹرل ڈبل کوٹس میں حروف کی ترتیب ہے۔ تو ،

چارشناخت 1[] = 'میں تم سے پیار کرتا ہوں'؛ چارشناخت 2[] = 'میں تم میں سے تین سے نفرت کرتا ہوں'؛ چارشناخت 3۔[]
= 'ہم دنیا ہیں'؛ چارشناخت 4۔[] = 'ہیلو ورلڈ!'؛

سٹرنگ لیٹرلز کی تمام مختلف تعریفیں ہیں۔ ڈبل کوٹس کے استعمال کو نوٹ کریں۔ سٹرنگ کے لیے عام متغیر جیسی کوئی چیز نہیں ہے۔ سٹرنگ لیٹرل حروف کی ایک صف ہے ، جہاں {} کے ساتھ حد بندی کرنے کے بجائے ، ترتیب کی حد بندی کی جاتی ہے۔ حروف کوما سے الگ نہیں ہوتے ہیں۔ سٹرنگ لٹریل میں حروف کی تعداد سے زیادہ کوئی بھی نمبر مربع بریکٹ میں رکھا جا سکتا ہے۔ تاہم ، بہتر ہے کہ مربع بریکٹ کو خالی چھوڑ دیا جائے۔

ڈبل کوٹس میں ایک ہی کردار ایک کردار نہیں ہے۔ یہ ایک حرف کا تار ہے۔ تو A یا c یا 2 ایک حرف نہیں ہے ، بلکہ ہر ایک حرف کا تار ہے۔

سٹرنگ متغیر مکمل لٹریل کو دوبارہ تفویض کرنے کی اجازت نہیں دیتا ، بعد میں پروگرام میں-نیچے ملاحظہ کریں۔ تاہم ، انفرادی حروف کو دوبارہ تفویض کیا جا سکتا ہے-ذیل میں دیکھیں۔

کریکٹر یا لٹریل میں سنگل اور ڈبل کوٹ۔

ایک کردار کے طور پر ایک اقتباس رکھنے کے لیے ، کچھ ایسا کریں ،

چارشناخت= '''؛

سٹرنگ لیٹرل میں بطور کردار ڈبل اقتباس حاصل کرنے کے لیے ، کچھ ایسا کریں ،

چارشناخت[] = 'دور'سی ڈی

ڈیلیمیٹرز کے ساتھ تنازعہ سے بچنے کے لیے بیک سلیش فرار کی ترتیب میں استعمال ہوتا ہے۔ ایک کردار کے طور پر ڈبل اقتباس حاصل کرنے کے لیے ، بیک سلیش کی ضرورت نہیں ہے: ‘‘ ٹھیک ہے۔ لفظی سٹرنگ میں ایک اقتباس رکھنے کے لئے ، بیک سلیش کی ضرورت نہیں ہے: ab'cd ٹھیک ہے۔

چونکہ بیک سلیش کسی کردار سے بچنے کے لیے استعمال کیا جاتا ہے ، اس لیے اسے دوسرے بیک سلیش سے بھاگنا پڑتا ہے جب ایک کردار کے طور پر یا سٹرنگ لٹریل میں استعمال ہوتا ہے۔

فرار کا سلسلہ

فرار کی ترتیب ان میں سے ایک ہے:

۔''؟ ۔ سے ب f n r>ٹی v

ہر فرار کی ترتیب عام طور پر یا تو ایک اقتباس میں ایک کردار کے طور پر ٹائپ کی جاتی ہے یا ڈبل ​​کوٹس میں فرار کی ترتیب کے طور پر۔

  • ’: ایک اقتباس کے کردار کے طور پر استعمال کیا جاتا ہے ، ایک اقتباس کے اندر۔
  • : لفظی طور پر ، ڈبل اقتباس کردار کے طور پر استعمال ہوتا ہے۔
  • ؟ : کب سے؟ ایک محفوظ کردار ہے ، اسے لفظی طور پر فرار ہونا چاہئے۔
  • \: بیک سلیش کو بطور کردار یا اسٹرنگ لٹریل میں فرار ہونا چاہیے ، تاکہ کسی دوسرے معنی میں نہ آئے۔
  • a: ایک بار خطرے کی گھنٹی بجتی ہے ، جب ایک کردار کے طور پر استعمال کیا جاتا ہے یا لفظی تار کے اندر۔
  • b: پچھلے کردار کو اتارتے ہوئے سٹرنگ کے اندر ڈسپلے میں بیک اسپیس کے طور پر نتائج۔
  • f: اگلے صفحے کو پرنٹر کو کھلایا جاتا ہے جب بطور کردار یا لفظی طور پر استعمال ہوتا ہے۔
  • r: کرسر لوٹاتا ہے ، جہاں اگلے کردار کو پرنٹ کیا جانا ہے ، لیکن موجودہ لائن کے اندر۔
  • n: آپریٹنگ سسٹم کے لحاظ سے کرسر کو اگلی لائن کے آغاز پر یا صرف اگلی لائن پر لوٹاتا ہے۔
  • t: افقی ٹیب بناتا ہے۔
  • v: ایک عمودی ٹیب بناتا ہے۔

کرداروں کے ساتھ آپریشن۔

کنکشن

تعریف کے مطابق ، دو سٹرنگ لیٹرلز کو جگہ کے ساتھ جوڑا جاسکتا ہے:

چارشناخت[] = 'اے بی سی' 'ڈیف'؛
لاگت<<شناخت<< 'n'؛

آؤٹ پٹ ہے: abcdef۔ اس تعریف کو دو سے زیادہ لٹریلز تک بڑھایا جا سکتا ہے۔ نوٹ: بیان صرف ایک تفویض نہیں ، ایک تعریف ہے۔ یہاں تک کہ تعریف مندرجہ ذیل لائنوں کو الگ کرنے کے ساتھ اگلی لائن تک جاری رہ سکتی ہے۔

چارشناخت[] = 'اے بی سی' 'ڈیف'
'نوٹ لے'؛
لاگت<<شناخت<< 'n'؛

آؤٹ پٹ ، abcdefghi ہے۔

نوٹ: حروف کو اس طرح جوڑا نہیں جا سکتا ، کیونکہ کردار کے لیے واحد اقتباس ایک سے زیادہ علامت نہیں ہو سکتا۔

مساوات آپریٹرز

ایک ہی کیس میں ایک جیسے کردار برابر ہیں۔ اگر وہ ایک ہی کیس کے نہیں ہیں تو وہ برابر نہیں ہیں۔ غور کریں ،

بول نتیجہ= 'بی' == 'بی'؛
لاگت<<نتیجہ<< 'n'؛

== کا مطلب ہے برابر ، جبکہ = کا مطلب ہے تفویض کردہ اور نہ کے برابر۔ آؤٹ پٹ سچ کے لیے 1 ہے۔ غور کریں ،

بول نتیجہ= 'بی' == 'ب'؛
لاگت<<نتیجہ<< 'n'؛

آؤٹ پٹ غلط کے لیے 0 ہے۔ غور کریں ،

بول نتیجہ= 'ب' == 'ج'؛
لاگت<<نتیجہ<< 'n'؛

آؤٹ پٹ غلط کے لیے 0 ہے۔ غور کریں ،

بول نتیجہ= 'بی' ! = 'بی'؛
لاگت<<نتیجہ<< 'n'؛

! = کا مطلب نہیں برابر ، جبکہ = کا مطلب ہے تفویض کردہ اور نہ برابر۔ آؤٹ پٹ غلط کے لیے 0 ہے۔ غور کریں ،

بول نتیجہ= 'بی' ! = 'ب'؛
لاگت<<نتیجہ<< 'n'؛

آؤٹ پٹ سچ کے لیے 1 ہے۔ غور کریں ،

بول نتیجہ= 'ب' ! = 'ج'؛
لاگت<<نتیجہ<< 'n'؛

آؤٹ پٹ سچ کے لیے 1 ہے۔

تو ، == اور! = مساوات آپریٹرز ہیں۔

متعلقہ آپریٹرز۔

C ++ میں عام حروف کے لیے ، بڑھتے ہوئے ترتیب میں ، نمبر بڑے حروف سے پہلے آتے ہیں ، جو چھوٹے حروف سے پہلے آتے ہیں۔

تو= اسی طرح وضاحت کی گئی ہے۔

سٹرنگ لٹریل بطور آبجیکٹ۔

صف کسی خاص ڈیٹا ٹائپ تسلسل کے آغاز کی طرف ایک مستقل اشارہ ہے۔ اسی طرح ، تار ایک کردار کی ترتیب کے آغاز کی طرف ایک مستقل اشارہ ہے۔ مندرجہ ذیل تعریفوں کا موازنہ کریں:

intآمد[] = {، ، ، ، }؛
چارp[] = {'میں'، 'یا'، 'ایم'، 'سے'، 'این'}؛
چارسٹرائی[] = 'عورت'؛

پہلی سرنی ints کی ایک صف ہے اور اس میں پانچ عناصر ہیں۔ دوسری اور تیسری صفیں مختلف ناموں والے حروف کی صفیں ہیں ، لیکن عناصر کی ایک ہی تعداد۔ دوسری اور تیسری صفیں ایک جیسی ہیں ، لیکن ان کے ناموں کے لیے۔ دوسری صف کے متن کے مواد کو منحنی خطوط وحدانی کے ذریعے محدود کیا گیا ہے۔ حروف کوما سے الگ کیے گئے ہیں اور ہر حرف واحد حوالوں میں ہے۔ تیسری صف کے متن کے مواد کو ڈبل حوالوں سے محدود کیا گیا ہے۔ حروف کوما سے الگ نہیں ہوتے ہیں اور ہر کردار ایک اقتباس میں نہیں ہوتا ہے۔ دوسری اور تیسری صفیں تار پیدا کرنے کے دو طریقے ہیں ، تیسرا طریقہ بہتر طریقہ ہے۔

arr اس کی صف کے پہلے عنصر کی طرف ایک مستقل اشارہ ہے ، مطلب یہ ہے کہ arr ہمیشہ اس مقام کی طرف اشارہ کرے گا جس میں عدد ہے ، 3 یہاں تک کہ اگر 3 کی قدر تبدیل ہو جائے۔ صف کا سائز ، پانچ عناصر ، واقعی مستقل نہیں رہتے ہیں۔ تاہم ، صف کی ہر قدر کو تبدیل کیا جا سکتا ہے۔

str اس کی صف کے پہلے عنصر کی طرف ایک مستقل اشارہ ہے ، مطلب یہ ہے کہ str ہمیشہ اس مقام کی طرف اشارہ کرتا ہے جس میں کردار ہوتا ہے ، 'ڈبلیو' یہاں تک کہ اگر 'ڈبلیو' کی قدر تبدیل ہو جائے۔ کریکٹر صف کا سائز ، پانچ عناصر ، حقیقت میں مستقل نہیں رہتے ہیں۔ تاہم ، لفظی کی ہر قدر کو تبدیل کیا جا سکتا ہے۔

سٹر اس کے لٹریل (صف) کے پہلے عنصر کی طرف ایک مستقل اشارہ ہے ، مطلب یہ ہے کہ اسٹرائ ہمیشہ کردار والے مقام کی طرف اشارہ کرے گا ، یہاں تک کہ اگر ڈبلیو کی قدر تبدیل ہو جائے۔ سٹرنگ لفظی (صف) کا سائز ، پانچ عناصر ، واقعی مستقل نہیں رہتے ہیں۔ تاہم ، لفظی کی ہر قدر میں ترمیم کی جا سکتی ہے۔

ایک صف یا سٹرنگ لفظی میں مستقل کیا ہے؟ صف یا لٹریل کے پہلے عنصر کا میموری ایڈریس صف یا لٹریل کے نام (شناخت کنندہ) کی قدر کے طور پر رہتا ہے ، اور اسے تبدیل نہیں کیا جا سکتا۔ ٹھیک ہے ، سرنی یا لفظی کا سائز واقعی مستقل نہیں رہتا ہے۔ صف یا لفظی میں ہر قدر کو تبدیل کیا جاسکتا ہے۔ درج ذیل کوڈ سے پتہ چلتا ہے کہ ہر ایک صف کا چوتھا عنصر کس طرح تبدیل کیا گیا ہے۔

intآمد[] = {، ، ، ، }؛
چارp[] = {'میں'، 'یا'، 'ایم'، 'سے'، 'این'}؛
چارسٹرائی[] = 'عورت'؛

آمد[] = ؛
p[] = 'اور'؛
سٹرائی[] = 'اور'؛

لاگت<<آمد[] << 'n'؛
لاگت<<p<< 'n'؛
لاگت<<سٹرائی<< 'n'؛

پیداوار یہ ہے:


خواتین
خواتین

نوٹ کریں کہ متعین سٹرنگ کے عناصر ، جیسا کہ اوپر کی تیسری تعریف کی طرح ، سرنی انڈیکس (سبسکرپٹ) کے ساتھ حاصل کیا جاسکتا ہے۔ آؤٹ پٹ کی دوسری لائن کی وجہ ذیل میں دی گئی ہے۔

تعریف سبسکرپٹ۔

نوٹ کریں کہ مذکورہ بالا تعریفوں میں ، سبسکرپٹ کے لیے کوئی عدد نہیں ہے۔ جب عناصر کی تعداد کا آسانی سے تعین نہیں کیا جا سکتا ، پروگرامر کے ذریعہ ، سبسکرپٹ کے لیے عدد کو چھوڑ دینا چاہیے۔ جو بھی معاملہ ہے ، عدد کو صف میں موجود عناصر کی تعداد سے کم نہیں ہونا چاہیے۔

سٹرنگ لٹریل کے لیے ، عدد اسٹرنگ میں حروف کی تعداد سے کم از کم 1 زیادہ ہونا چاہیے۔ اس کی وجہ یہ ہے کہ کمر ( 0) ہمیشہ مرتب کرنے والے کے ذریعہ شامل کیا جاتا ہے ، ایک صف کے آخر میں جو کہ ایک تار ہوتی ہے ، جو ڈبل کوٹس سے حد ہوتی ہے۔ اوپر کی دوسری صف کے اختتام پر کالعدم حرف شامل نہیں کیا گیا ہے ، کیونکہ یہ کوئی سرکاری تار نہیں ہے۔ تیسری صف ایک سرکاری تار ہے۔ مندرجہ ذیل کوڈ کم از کم سبسکرپٹ اقدار کو ظاہر کرتا ہے۔

intآمد[] = {، ، ، ، }؛
چارp[] = {'میں'، 'یا'، 'ایم'، 'سے'، 'این'}؛
چارسٹرائی[] = 'عورت'؛

دوسری تعریف کو آفیشل سٹرنگ بنانے کے لیے کالعدم حروف کو مندرجہ ذیل طور پر شامل کرنا ہوگا۔

intآمد[] = {، ، ، ، }؛
چارp[] = {'میں'، 'یا'، 'ایم'، 'سے'، 'این'، ''}؛
چارسٹرائی[] = 'عورت'؛

پیداوار اب ہونی چاہیے ،


خواتین
خواتین

دوسری عورتوں کے بغیر نوٹ کریں کہ دوسری صف کے لیے متعلقہ سبسکرپٹ 6 ہے ، اور 5 نہیں جیسا کہ تھا۔

مسلسل لفظی اقدار۔

شناخت کنندہ کو تفویض کیے گئے دوہرے حوالوں میں کسی بھی کردار کو تبدیل کرنے سے روکنے کے لیے ، بعد میں پروگرام میں ، مخصوص لفظ ، const کے ساتھ تعریف سے پہلے درج ذیل:

const چارشناخت[] = 'میں تم سے پیار کرتا ہوں'؛

سٹرنگ لٹریلز کے ساتھ آپریشن۔

مساوات آپریشن

مساوات آپریٹرز ہیں == اور! =. جب دو تاروں کے متغیرات (شناخت کنندگان) کا موازنہ کیا جاتا ہے ، تو یہ لیٹرلز کے اشارے (پتے) ہوتے ہیں جن کا موازنہ کیا جاتا ہے۔ یہ غلط ہے. ڈور کا موازنہ کرنے کے لیے ، لیٹرلز کا موازنہ کرنا ہوگا ، جیسا کہ درج ذیل کوڈ میں ہے۔

بول نتیجہ= 'عورت' == 'عورت'؛
لاگت<<نتیجہ<< 'n'؛

آؤٹ پٹ سچ کے لیے 1 ہے۔ موازنہ لغت کے انداز میں کیا گیا ہے ، لیکن نمبروں کے اوپر آنے والے ترتیب میں ، بڑے حروف سے پہلے ، جو چھوٹے حروف سے پہلے آتے ہیں۔ جھوٹے کے لیے درج ذیل کوڈ کی آؤٹ پٹ 0 ہے۔

بول نتیجہ= 'عورت' ! = 'عورت'؛
لاگت<<نتیجہ<< 'n'؛

سٹرنگ لٹریلز کے ساتھ متعلقہ آپریٹرز

متعلقہ آپریٹرز سٹرنگ لیٹرلز کے ساتھ کام نہیں کرتے ہیں۔

را سٹرنگ لٹریل۔

ایک خام سٹرنگ لفظی ، ایک تار کو ٹائپ کے طور پر ظاہر کرنے کی اجازت دیتا ہے ، فرار کی ترتیب کو نظر انداز کرتے ہوئے اور نئی لائنوں کا احترام کرتا ہے۔ درج ذیل کوڈ پر غور کریں:

چارp[] =آر۔'(اے بی سی۔ڈی ای ایف جی وہ۔
klmnn'
opq
پہلے) '
لاگت<< str << '
n

پیداوار یہ ہے:

abc \ d efg he
klmn. nopq
پہلا

کوڈ میں ، خام تار لفظی R سے شروع ہوتا ہے ، اس کے بعد اور (. یہ ختم ہوتا ہے) اور.

C ++ مین سٹرنگ لفظی اقسام۔

چار

چار قسم اصل C ++ قسم ہے اور عام طور پر ایک کردار کو 8 بٹس میں محفوظ کرتی ہے۔

char16_t

یہ ایک کردار کو 16 بٹس میں محفوظ کرتا ہے۔

char32_t

یہ ایک کردار کو 32 بٹس میں محفوظ کرتا ہے۔

wchar_t

char16_t اور char32_t وسیع حروف ہیں۔ wchar_t ایک وسیع کردار ہے جو ملکیتی اور عمل درآمد سے متعین ہے۔

نتیجہ

ایک حرف لفظی واحد حوالوں میں ایک حرف ہے۔ فرار کی ترتیب ایک ایسا کردار ہے جو سنگل حوالوں میں بھی ہوسکتا ہے۔ سٹرنگ لیٹرل ڈبل کوٹس میں حروف کی ترتیب ہے۔ سٹرنگ لیٹرل حروف کی ایک صف ہے جو 0 کے ساتھ ختم ہوتی ہے۔ مساوات اور رشتہ دار آپریٹرز کردار کے لفظوں کے ساتھ کام کرتے ہیں۔ مساوات آپریٹرز سٹرنگ لیٹرلز کے ساتھ کام کرتے ہیں ، لیکن ریلیشنل آپریٹرز سٹرنگ لیٹرلز کے ساتھ کام نہیں کرتے ہیں۔ کردار کی شناخت کرنے والے موازنہ میں استعمال کیے جا سکتے ہیں ، لیکن موازنہ میں سٹرنگ شناخت کنندگان کو استعمال نہیں کیا جانا چاہیے۔ ایک خام سٹرنگ لفظی ایک تار کو ٹائپ کے طور پر ظاہر کرنے کی اجازت دیتا ہے ، فرار کی ترتیب کو نظر انداز کرتے ہوئے اور نئی لائنوں کا احترام کرتا ہے۔

کریس