C++ میں strncpy() فنکشن کا استعمال کیسے کریں۔

C My Strncpy Fnkshn Ka Ast Mal Kys Kry



سٹرنگز یا کریکٹرز کو ایک جگہ سے دوسری جگہ کاپی کرنے کے لیے C++ میں بہت سے فنکشنز ہیں جو کہ strcpy، strncpy اور memcpy ہیں۔ وہ اپنی فعالیت کے لحاظ سے ایک دوسرے سے الگ ہیں۔ اس ٹیوٹوریل میں بحث کی جائے گی۔ strncpy() C++ میں فنکشن۔

C++ میں strncpy() فنکشن کیا ہے؟

strncpy() فنکشن ایک بلٹ ان C++ فنکشن ہے جو ایک سٹرنگ سے دوسرے میں حروف کی ایک مقررہ مقدار کاپی کرنے کے لیے استعمال ہوتا ہے۔ فنکشن کو تین پیرامیٹرز کی ضرورت ہے: منزل کی تار جو حروف کو رکھے گی، سورس سٹرنگ جو حروف فراہم کرے گی، اور کاپی کرنے کے لیے حروف کی گنتی۔ اگر سورس سٹرنگ حروف کی متعین تعداد سے کم ہے، تو منزل کی تار کو بقیہ طوالت پر خالی حروف کے ساتھ پیڈ کیا جائے گا۔

strncpy() فنکشن کا پروٹو ٹائپ ذیل میں دیا گیا ہے۔







چار * strncpy ( چار * ہاتھ const چار * src سائز_ٹی شمار ) ;

C++ strncpy() کے پیرامیٹرز کیا ہیں؟

کے تمام پیرامیٹرز strncpy() فنکشن ذیل میں بیان کیا گیا ہے.



  • ہاتھ: منزل کی صف کا ایک پوائنٹر جس میں مواد رہا ہے۔
  • src: ماخذ سرنی کا ایک پوائنٹر جس سے مواد ہے۔
  • شمار: حروف کی سب سے زیادہ تعداد جو ماخذ سے منزل تک کاپی کی جا سکتی ہے۔

strncpy() فنکشن C++ میں کیسے کام کرتا ہے۔

strncpy() فنکشن تین دلائل کو قبول کرتا ہے: dest, src, اور شمار . یہ چیک کرتا ہے کہ آیا src سٹرنگ کالعدم ہے، اور اگر ہاں، تو یہ حروف کی مخصوص تعداد کو نقل کرتا ہے src کو تار شروع تار اگر گنتی کی لمبائی سے کم ہے۔ src string، پہلے گنتی کے حروف کو منتقل کر دیا گیا ہے۔ شروع string اور کالعدم نہیں ہیں۔ اگر گنتی کی لمبائی سے زیادہ ہے۔ src , سے تمام حروف src پر نقل کیے جاتے ہیں۔ شروع ، اور اضافی ختم کرنے والے null حروف کو شامل کیا گیا ہے جب تک کہ تمام گنتی کے حروف لکھے نہ جائیں۔



دی گئی مثال C++ کے کام کو واضح کرتی ہے۔ strncpy() فنکشن





# شامل کریں
#include
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
چار src_str [ ] = 'میں strncpy کے لیے ایک کوڈ لکھ رہا ہوں' ;
چار dest_str [ 60 ] ;
strncpy ( dest_str,src_str, strlen ( src_str ) ) ;
cout << dest_str << ' \n ' ;
واپسی 0 ;
}

اس پروگرام میں، ہم نے استعمال کیا ہیڈر فائل کیونکہ اس میں شامل ہے۔ strncpy() فنکشن ہم نے دو تاروں کی وضاحت کی ہے ایک ہے۔ src_str اور دوسرا ہے dest_str. strncpy() فنکشن جو ڈیٹا لیتا ہے۔ src_str سٹرنگ اور اسے کاپی کرتا ہے۔ dest_str . یہاں strlen(src_str) سے حروف کی کل تعداد شمار کرنے کے لیے استعمال کیا جاتا ہے۔ src_str سٹرنگ .

دی آؤٹ پٹ پروگرام کے ذیل میں دکھایا جا سکتا ہے.



strncpy() کو C++ میں استعمال کرنے میں کیا مسائل ہیں؟

  • اگر منزل کی صف میں کوئی null کریکٹر نہیں ہے یا سٹرنگ کو ختم نہیں کیا گیا ہے، تو ہمارے پروگرام یا کوڈ کو جلد یا بدیر مسائل کا سامنا کرنا پڑ سکتا ہے۔ C++ میں ایک غیر منسوخ شدہ سٹرنگ خطرناک کوڈ بن گیا ہے جو پروگرام کے عمل کے دوران کسی بھی وقت ٹوٹ سکتا ہے۔ اس کے نتیجے میں پروگرام میں سیگمنٹیشن کی غلطی ہو سکتی ہے۔ اس کے نتیجے میں، strncpy() اس بات کو یقینی نہیں بناتا ہے کہ منزل کی تار ہمیشہ کالعدم ہوتی ہے، جس سے یہ اس پروگرام کے لیے خطرناک کوڈ بن جاتا ہے جسے ہم لکھ رہے ہیں۔
  • یہ فنکشن اوور فلو کو چیک کرنے میں ناکام رہتا ہے، لہذا اگر ہم سورس سٹرنگ کو کسی ایسی منزل پر کاپی کرنے کی کوشش کرتے ہیں جو ماخذ سے چھوٹی ہے، تو ہمیں ایک غلطی اور غیر متعینہ رویہ ملتا ہے۔

نتیجہ

ڈیٹا کو ایک تار سے دوسرے میں کاپی کرنے کے لیے، ہم استعمال کرتے ہیں۔ strncpy() C++ میں جو ایک بلٹ ان فنکشن ہے۔ ہیڈر فائل. اس مضمون میں، ہم نے C++ کے نحو اور کام کے بارے میں بات کی ہے۔ strncpy ایک مثال کے ساتھ فنکشن. ہم نے کچھ مسائل کو بھی اجاگر کیا جس کی وجہ سے strncpy فنکشن ہمارے کوڈ کو خطرناک بنا سکتا ہے۔