CharAt() في C++

Charat Fy C



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

تعتبر الدالة charAt() قيمة ومفيدة جدًا للوصول إلى الأحرف الموجودة في السلسلة ومعالجتها. ولكن كيف يمكننا أداء نفس الوظيفة في C++؟ تسهل الدالة string::at() نفس الوظيفة في لغة البرمجة C++. في هذه المقالة، سوف نتعمق في عمل الدالة string::at() من خلال تقديم أمثلة بسيطة ودقيقة لمساعدتك على فهم وظيفة الدالة string::at() بشكل فعال.

جافا سلسلة CharAt ()

في Java، تعتبر طريقة charAt()‎ لفئة 'String' وظيفة شائعة الاستخدام وفعالة. تلعب هذه الطريقة دورًا مهمًا في معالجة السلسلة من خلال تمكين الوصول إلى كل حرف في سلسلة بناءً على مواضع الفهرس الخاصة بها. يعد فهم بناء الجملة ووظيفة charAt() أمرًا ضروريًا للتعامل الفعال مع السلسلة في برامج Java. ما يلي هو بناء جملة وظيفة charAt() في Java:







بناء الجملة:



عام شار شارات ( كثافة العمليات فِهرِس )

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



الطبقة العامة الرئيسية {

عام ثابتة فارغ رئيسي ( خيط [ ] الحجج ) {

سلسلة Char_at = 'اختبار الحرف' ;

شار com.charone = Char_at. شارات ( 0 ) ;

شار com.chartwo = Char_at. شارات ( 5 ) ;

شار com.charthree = Char_at. شارات ( 8 ) ;

نظام. خارج . println ( 'الحرف عند الفهرس 0:' + com.charone ) ;

نظام. خارج . println ( 'الحرف في الفهرس 5:' + com.chartwo ) ;

نظام. خارج . println ( 'الحرف في الفهرس 8:' + com.charthree ) ;

}

}

في هذا المثال، يتم استخدام سلسلة 'Testing CharAt' ويتم تنفيذ الدالة charAt() للحصول على الأحرف الموجودة في الفهرس 0 و5 و8. الأحرف المعنية 'T' و'n' و'C' في تتم بعد ذلك طباعة الفهارس المحددة على وحدة التحكم. انظر لقطة الإخراج التالية:





كما ترون في الإخراج، تقوم الدالة charAt() باسترداد الأحرف الموجودة في الفهرس 0 و5 و8 ويتم طباعتها على وحدة التحكم. إذا أردنا العمل بلغة البرمجة C++، نستخدم الدالة 'string::at'. وظيفة مشابهة لـ charAt() في لغة C++ هي الدالة 'string::at' التي تؤدي نفس الوظيفة.



C++ String::at() – أي ما يعادل وظيفة Java CharAt()

في لغة البرمجة C++، الدالة string::at() تعادل الدالة charAt() في Java. بناء جملة الدالة string::at() كما يلي:

شار & شارع. في ( كثافة العمليات فِهرِس )

على غرار طريقة الإدخال والإخراج charAt()، تأخذ الدالة str.at() معلمة عددية تمثل فهرس الحرف الذي يجب تحديد موقعه. يتم اتباع نفس الفهرس المستند إلى 0 بواسطة الدالة str.at(). تتم زيادة الفهرس بمقدار 1 للأحرف اللاحقة. نتيجة الدالة str.at() هي من النوع char مما يعني أنها تُرجع حرفًا. لتوضيح استخدام الدالة str.at()، خذ بعين الاعتبار المثال التالي:

#تشمل

#تشمل <سلسلة>

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

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

سلسلة سلسلة = 'اختبار الحرف' ;

شار com.charone = شارع. في ( 0 ) ;

شار com.chartwo = شارع. في ( 5 ) ;

شار com.charthree = شارع. في ( 8 ) ;

cout << 'الحرف عند الفهرس 0:' << com.charone << endl ;

cout << 'الحرف في الفهرس 5:' << com.chartwo << endl ;

cout << 'الحرف في الفهرس 8:' << com.charthree << endl ;

يعود 0 ;

}

في هذا المثال، نختار تنفيذ نفس الكود باستخدام الدالة str.at() في لغة C++ والتي ننفذها باستخدام الدالة charAt() في Java. مرة أخرى، يتم إنشاء سلسلة 'Testing CharAt' ويتم تنفيذ الدالة str.at() للحصول على الحرف الموجود في الفهرس 0 و5 و8 والذي يمثل الأحرف الأولى والرابعة والسابعة، نظرًا للفهرسة المستندة إلى 0 الخاصة بـ C++. يتم بعد ذلك تخزين الحرف في متغيرات charone وcharthwo وcharthree ويتم طباعته على وحدة التحكم. دعونا ننفذ مثالًا آخر يوضح عمل الدالة str.at() بمزيد من التفاصيل. ألق نظرة على الكود التالي:

#تشمل

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

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

سلسلة سلسلة = 'البرنامج التعليمي str.at()' ;

ل ( كثافة العمليات أنا = 0 ; أنا < com.strng. طول ( ) ; أنا ++ ) {

cout << 'الحرف الموجود في السلسلة في الفهرس' << أنا << ' هو = '

<< com.strng. في ( أنا ) << endl ;

}

يعود 0 ;

}

في هذا المثال، قمنا بإعلان وتهيئة متغير سلسلة يسمى 'strng' بقيمة 'str.at() تعليمي'. ثم نستخدم حلقة 'for' للتكرار في السلسلة من خلال كل حرف. داخل الحلقة، نعرض كل حرف سلسلة مع فهرسه. تعرض مخرجات هذا البرنامج كل حرف في السلسلة التعليمية 'str.at()' بالإضافة إلى الفهرس المقابل له. يتم استخدام الأسلوب strng.at(i) للحصول على الحرف في الفهرس المحدد أثناء كل تكرار للحلقة.

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

#تشمل

#تشمل <سلسلة>

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

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

سلسلة سلسلة = 'البرنامج التعليمي str.at()' ;

ل ( كثافة العمليات أنا = 0 ; أنا < com.strng. مقاس ( ) ; أنا ++ ) {

لو ( com.strng. في ( أنا ) == 'ر' ) {

cout << 'مؤشر 't' هو = ' << أنا << endl ;

استراحة ;

}

}

يعود 0 ;

}

يوضح رمز C++ هذا برنامجًا يبحث عن التواجد الأول للحرف 't' في سلسلة معينة ويطبع فهرسه. تم الإعلان عن متغير سلسلة بقيمة 'str.at() تعليمي' وتهيئته. باستخدام حلقة 'for'، نقوم بالتكرار في السلسلة عبر كل حرف للعثور على التواجد الأول للحرف 't'.

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

مقارنة C++ String::at() مع Java CharAt()

في حين أن كلا الدالتين، charAt() في Java وstr.at في C++، تخدمان نفس الغرض الأساسي، فإن الدالة str.at() في C++ أسرع بكثير من الدالة charAt() في Java. فهو يوفر إمكانية الوصول إلى الأحرف حسب الفهرس ويجعله الخيار الأمثل للمواقف التي يصبح فيها الأداء بالغ الأهمية. الجانب الآخر الجدير بالملاحظة للدالة str.at() في لغة C++ هو كفاءتها. يمكن للمطورين الذين ينتقلون من Java إلى C++ أو الذين يعملون في مشاريع تتضمن كلاً من C++ وJava الاستفادة من فهم جوانب الكفاءة هذه.

خاتمة

في الختام، فهم معالجة سلسلة C++ يتضمن الإلمام بوظيفة string::at()، البديل لـ charAt() في Java. توضح الأمثلة الموضحة الاستخدام العملي لكل من الدالتين charAt() وstr.at()، مما يسمح للمطورين بالوصول إلى أحرف معينة بسرعة وكفاءة. تعمل كفاءة الدالة str.at() في لغة C++ على تعزيز الحاجة إليها، مما يجعلها وظيفة مهمة لمهام معالجة السلسلة. سواء كنت تنتقل من لغة Java إلى لغة C++ أو على وشك إنشاء مشروع C++ معقد، فإن الفهم العميق لهذه الوظائف أمر ضروري للتعامل بكفاءة وفعالية مع السلاسل في برامجك.