كيفية مقارنة السلسلة في C ++

How Compare String C



تعتبر مقارنة السلاسل مهمة شائعة جدًا لأي لغة برمجة. يتم استخدامه بشكل أساسي للتحقق من صحة البيانات ، مثل التحقق من اسم المستخدم وكلمة المرور لمعلومات تسجيل الدخول. يمكن إجراء مقارنة السلسلة باستخدام عامل مقارنة أو باستخدام وظائف مضمنة. وظيفتان لمقارنة السلاسل المستخدمة في C ++ هما ، strcmp () و قارن() . ال strcmp () هي وظيفة مكتبة لـ C لمقارنة سلسلتين. ج ompare () هي وظيفة مضمنة في C ++ لمقارنة سلسلتين. تم شرح طرق مقارنة السلاسل باستخدام عوامل المقارنة والوظائف في هذا البرنامج التعليمي.

المتطلبات المسبقة:

قبل التحقق من أمثلة هذا البرنامج التعليمي ، يجب عليك التحقق من تثبيت برنامج التحويل البرمجي g ++ أم لا في النظام. إذا كنت تستخدم Visual Studio Code ، فقم بتثبيت الملحقات الضرورية لتجميع التعليمات البرمجية المصدر لـ C ++ لإنشاء التعليمات البرمجية القابلة للتنفيذ. هنا ، تم استخدام تطبيق Visual Studio Code لتجميع وتنفيذ كود C ++.







استخدام عامل المقارنة لمقارنة السلسلة:

الطريقة الأكثر شيوعًا لمقارنة السلاسل في C ++ هي استخدام عامل المقارنة. هذه العوامل متساوية (==) وليست متساوية (! =). قم بإنشاء ملف C ++ بالتعليمة البرمجية التالية لمقارنة قيمتي سلسلة باستخدام عامل المقارنة. وفقًا للكود ، سيتم أخذ عنوان URL من المستخدم ومقارنته بالسلاسل الأخرى باستخدام عامل تشغيل يساوي (==). إذا كانت قيمة الإدخال تتطابق مع أي سلسلة من شرط 'if' ، فستتم طباعة الرسالة المحددة ؛ خلاف ذلك ، سيتم عرض رسالة جزء 'آخر'.



// تضمين المكتبة الضرورية

#يشمل

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

انت مين() {
// قم بتعريف متغير سلسلة
سلسلة url_addr؛
// خذ عنوان url من المستخدم
كلفةعنوان url_addr؛
// قارن قيمة الإدخال بسلسلة أخرى باستخدام عامل مكافئ
لو(عنوان url_addr== 'Google com')
كلفة<<'إنه موقع محرك بحث wensite.'<<endl؛
آخر(عنوان url_addr== 'jooble.org')
كلفة<<'إنه موقع للبحث عن عمل'.<<endl؛
آخر(عنوان url_addr== 'linuxhint.com')
كلفة<<'إنه موقع مدونة.'<<endl؛
آخر
كلفة<<'لم يتم إضافة أي معلومات لهذا الموقع.'<<endl؛

العودة 0؛
}

انتاج:



بعد تنفيذ الكود ، إذا كتب المستخدم ' linuxhint.com 'كإدخال ، سيتم إرجاع شرط' if 'الثالث حقيقي، وسيظهر الناتج التالي.





استخدام وظيفة المقارنة () لمقارنة السلسلة:

تقارن الوظيفة () سلسلتين وتعيد 0 أو 1 أو -1 بناءً على نتيجة مطابقة المقارنة. يتم إعطاء معنى قيم الإرجاع أدناه.



  • ستعيد الدالة 0 عندما تكون كلتا السلسلتين المقارنتين متساويتين.
  • ستعيد الدالة 1 عندما تكون السلسلة الأولى أكبر من السلسلة الثانية.
  • ستعيد الوظيفة -1 عندما تكون السلسلة الأولى أقل من السلسلة الثانية.

بناء الجملة:

intسلسلة 1.قارن(سلسلة 2)

قم بإنشاء ملف C ++ بالتعليمة البرمجية التالية لمقارنة قيمتي سلسلة مع قيمتي إدخال باستخدام دالة '' '' '' '' '' '' '' '' '' '. يمكن التحقق من مصادقة أي مستخدم من خلال مقارنة القيم المرسلة من قبل المستخدمين مع قيم المستخدم المصادق عليه. تم تنفيذ عملية المصادقة هذه في الكود التالي. تم تخزين عنوان البريد الإلكتروني وكلمة المرور الصالحين في متغيرين من السلسلة هنا. بعد ذلك ، تمت مقارنة هذه القيم بعنوان البريد الإلكتروني وكلمة المرور المأخوذة من المستخدم باستخدام قارن () وظيفة. المنطق و تم استخدام عامل التشغيل في الكود لمصادقة المستخدم. ستتم طباعة رسالة النجاح إذا كانت كلتا دالتي المقارنة () ترجعان إلى True. خلاف ذلك ، ستتم طباعة رسالة الفشل.

// تضمين المكتبة الضرورية

#يشمل

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

انت مين() {

// تهيئة اثنين من متغيرات السلسلة
سلسلة البريد الإلكتروني('[بريد إلكتروني محمي]')؛
كلمة مرور السلسلة('linuxhint')؛
// قم بتعريف اثنين من متغيرات السلسلة
سلسلة user_email؛
سلسلة user_password؛

// خذ عنوان البريد الإلكتروني من المستخدم
كلفةالبريد الالكتروني للمستخدم؛

// خذ كلمة المرور من المستخدم
كلفةuser_password؛

// تحقق من اسم المستخدم وكلمة المرور صالحة أو غير صالحة
لو (البريد الالكتروني للمستخدم.قارن(البريد الإلكتروني) == 0&&user_password.قارن(كلمه السر) == 0 )
كلفة<<'المصادقة ناجحة'.<<endl؛
آخر
كلفة<<'البريد الإلكتروني أو كلمة المرور غير صالحة'.<<endl؛

العودة 0؛
}

انتاج:

بعد تنفيذ الكود ، إذا كتب المستخدم ' [البريد الإلكتروني محمي] 'كعنوان بريد إلكتروني و' 12345 'ككلمة مرور ، سيتم إرجاع شرط' if 'الثالث خاطئة، وسيظهر الناتج التالي.

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

استخدام دالة strcmp () لمقارنة السلسلة:

تعد strcmp () وظيفة أخرى لمقارنة السلاسل في C ++. يعود صحيحًا إذا كانت كلتا السلاسل المقارنة متساوية. تختلف معلمات الإدخال التي تتخذها هذه الوظيفة عن وظيفة المقارنة (). تأخذ وظيفة المقارنة قيمة سلسلة كمعامل ، وتأخذ الدالة strcmp () صفيف char كمعامل. فيما يلي بناء جملة هذه الوظيفة.

بناء الجملة:

int ستركمب ( مقدار ثابت شار *شارع 1و مقدار ثابت شار *str2)؛

قم بإنشاء ملف C ++ بالتعليمة البرمجية التالية لمقارنة سلسلتين باستخدام الدالة strcmp (). تم الإعلان عن مصفوفتين من الأحرف من 100 عنصر في الكود لتخزين قيم السلسلة التي يأخذها المستخدمون. ال الحصول على خط() يتم استخدام الوظيفة لتخزين مدخلات المستخدم في متغيرات مصفوفة char. بعد ذلك ، ملف strcmp () تستخدم الدالة للتحقق من تساوي قيم الإدخال أم لا. إذا تم إرجاع الدالة حقيقي، ثم ستتم طباعة رسالة النجاح ؛ خلاف ذلك ، ستتم طباعة رسالة الفشل ،

// تضمين المكتبات الضرورية

#يشمل

#يشمل

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

انت مين() {
// Delare اثنين من متغيرات السلسلة
شارchrData1[100]وchrData2[100]؛

// خذ بيانات السلسلة الأولى
كلفة<<'أدخل السلسلة الأولى:'؛
شرك.الحصول على خط(chrData1و 100)؛
// خذ بيانات السلسلة الثانية
كلفة<<'أدخل السلسلة الثانية:'؛
شرك.الحصول على خط(chrData2و 100)؛

لو ( ستركمب (chrData1وchrData2)==0)
printf ('الأوتار متساويةن')؛
آخر
printf ('الأوتار ليست متساويةن')؛

العودة 0؛
}

انتاج:

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

استنتاج:

تم عرض ثلاث طرق لمقارنة السلاسل في C ++ في هذا البرنامج التعليمي باستخدام ثلاثة أمثلة بسيطة. تم وصف استخدامات عامل المقارنة والوظائف المضمنة للتحقق من تساوي السلاسل في هذا البرنامج التعليمي لمساعدة مبرمجي C ++ الجدد.