כיצד להשוות מחרוזת ב- C ++

How Compare String C



השוואת מחרוזות היא משימה נפוצה מאוד עבור כל שפת תכנות. הוא משמש בעיקר לאימות הנתונים, כגון בדיקת שם המשתמש והסיסמה של פרטי הכניסה. ניתן לבצע את השוואת המחרוזות באמצעות אופרטור השוואה או באמצעות פונקציות מובנות. שתי פונקציות השוואת מחרוזות המשמשות ב- C ++ הן, strcmp () ו לְהַשְׁווֹת() . ה strcmp () היא פונקציית ספרייה של C להשוואת שני מחרוזות. ג ompare () היא פונקציה מובנית של C ++ להשוואת שני מחרוזות. הדרכים להשוות מחרוזות באמצעות אופרטורים והשוואות הוסברו במדריך זה.

תְנַאִי מוּקדָם:

לפני בדיקת הדוגמאות של הדרכה זו, עליך לבדוק אם מהדר g ++ מותקן במערכת או לא. אם אתה משתמש ב- Visual Studio Code, התקן את התוספים הדרושים כדי לאסוף את קוד המקור C ++ ליצירת קוד ההפעלה. כאן, היישום Visual Studio Code שימש לעריכה וביצוע קוד C ++.







שימוש במפעיל השוואה להשוואת מחרוזת:

הדרך הנפוצה ביותר להשוות מחרוזות ב- C ++ היא באמצעות אופרטור ההשוואה. אלה אופרטורים שווים (==) ולא שווים (! =). צור קובץ C ++ עם הקוד הבא להשוואת שני ערכי מחרוזות באמצעות אופרטור ההשוואה. על פי הקוד, כתובת URL תילקח מהמשתמש ותושווה למחרוזות אחרות באמצעות אופרטור שווה (==). אם ערך הקלט תואם למחרוזת כלשהי בתנאי 'if', ההודעה הספציפית תודפס; אחרת, ההודעה של החלק 'אחר' תוצג.



// כלול את הספרייה הדרושה

#לִכלוֹל

באמצעות מרחב שמות std;

תוך() {
// הכריז על משתנה מחרוזת
מחרוזת url_addr;
// קח כתובת URL מהמשתמש
עֲלוּתurl_addr;
// השווה את ערך הקלט עם מחרוזת אחרת באמצעות אופרטור שווה ערך
אם(url_addr== 'Google com')
עֲלוּת<<'זהו מנוע חיפוש באתר.'<<endl;
אחר(url_addr== 'jooble.org')
עֲלוּת<<'זהו אתר לחיפוש עבודה'.<<endl;
אחר(url_addr== 'linuxhint.com')
עֲלוּת<<'זה אתר בלוג'.<<endl;
אַחֵר
עֲלוּת<<'לא נוסף מידע לאתר זה.'<<endl;

לחזור 0;
}

תְפוּקָה:



לאחר ביצוע הקוד, אם המשתמש הקליד ' linuxhint.com 'כקלט, המצב השלישי' אם 'יוחזר נָכוֹן, והפלט הבא יופיע.





שימוש בפונקציה Compare () להשוואת מחרוזת:

הפונקציה השווה () משווה בין שתי מחרוזות ומחזירה 0 או 1 או -1 בהתבסס על התוצאה התואמת של ההשוואה. המשמעות של ערכי ההחזרה ניתנת להלן.



  • הפונקציה תחזיר 0 כאשר שתי המחרוזות המשוות שוות.
  • הפונקציה תחזיר 1 כאשר המחרוזת הראשונה גדולה מהמחרוזת השנייה.
  • הפונקציה תחזיר -1 כאשר המחרוזת הראשונה קטנה מהמחרוזת השנייה.

תחביר:

intמחרוזת 1.לְהַשְׁווֹת(מחרוזת 2)

צור קובץ C ++ עם הקוד הבא כדי להשוות בין שני ערכי מחרוזת עם שני ערכי קלט באמצעות הפונקציה Compare (). ניתן לבדוק את האימות של כל משתמש על ידי השוואת הערכים שהגישו המשתמשים לערכי המשתמש המאומת. תהליך אימות זה יושם בקוד הבא. כתובת הדוא'ל והסיסמה התקפים נשמרו כאן בשני משתני מחרוזות. לאחר מכן, ערכים אלה השוו את כתובת הדוא'ל והסיסמה שנלקחה מהמשתמש באמצעות השווה () פוּנקצִיָה. ההגיוני וגם אופרטור שימש בקוד לאימות המשתמש. הודעת ההצלחה תודפס אם שתי הפונקציות השווה () יחזירו True. אחרת הודעת הכישלון תודפס.

// כלול את הספרייה הדרושה

#לִכלוֹל

באמצעות מרחב שמות std;

תוך() {

// אתחל שני משתני מחרוזות
דוא'ל מחרוזת('[מוגן בדוא'ל]');
סיסמת מחרוזת('linuxhint');
// הכריז על שני משתני מחרוזות
string user_email;
string user_password;

// קח את כתובת הדוא'ל מהמשתמש
עֲלוּתדואר משתמש;

// קח את הסיסמה מהמשתמש
עֲלוּתסיסמת משתמש;

// בדוק את שם המשתמש ואת הסיסמה תקפות או לא חוקיות
אם (דואר משתמש.לְהַשְׁווֹת(אימייל) == 0&&סיסמת משתמש.לְהַשְׁווֹת(סיסמה) == 0 )
עֲלוּת<<'האימות הצליח.'<<endl;
אַחֵר
עֲלוּת<<'הדוא'ל או הסיסמה אינם חוקיים.'<<endl;

לחזור 0;
}

תְפוּקָה:

לאחר ביצוע הקוד, אם המשתמש הקליד ' [מוגן בדוא'ל] 'ככתובת דוא'ל ו-' 12345 'כסיסמה, תנאי ה-' אם 'השלישי יוחזר שֶׁקֶר, והפלט הבא יופיע.

לאחר ביצוע הקוד שוב, אם המשתמש הקליד ' [מוגן בדוא'ל] 'ככתובת דוא'ל ו-' linuxhint 'כסיסמה, תנאי ה-' אם 'השלישי יוחזר נָכוֹן, והפלט הבא יופיע.

שימוש בפונקציה strcmp () להשוואת מחרוזת:

Strcmp () היא פונקציה נוספת להשוואת מחרוזות ב- C ++. הוא מחזיר אמת אם שני המחרוזות המשוות שוות. פרמטרי הקלט של פונקציה זו שונים מהפונקציה השווה (). פונקציית ההשוואה לוקחת ערך מחרוזת כפרמטר, והפונקציה strcmp () לוקחת את מערך char כפרמטר. התחביר של פונקציה זו ניתן להלן.

תחביר:

int strcmp ( קבוע לְהַשְׁחִיר *str1, קבוע לְהַשְׁחִיר *str2);

צור קובץ C ++ עם הקוד הבא להשוואת שני מחרוזות באמצעות הפונקציה strcmp (). שני מערכי תווים של 100 אלמנטים הוכרזו בקוד לאחסון ערכי המחרוזות שלקחו המשתמשים. ה getline () הפונקציה משמשת לאחסון קלט המשתמש במשתני מערך הצ'אר. לאחר מכן, ה strcmp () פונקציה שימשה לבדוק את ערכי הקלט שווים או לא. אם הפונקציה חוזרת נָכוֹן, לאחר מכן הודעת ההצלחה תודפס; אחרת, הודעת הכישלון תודפס,

// כלול ספריות נחוצות

#לִכלוֹל

#לִכלוֹל

באמצעות מרחב שמות std;

תוך() {
// מחק שני משתני מחרוזות
לְהַשְׁחִירchrData1[100],chrData2[100];

// קח את נתוני המחרוזת הראשונה
עֲלוּת<<'הזן את המחרוזת הראשונה:';
ג'ין.getline(chrData1, 100);
// קח את נתוני המחרוזת השנייה
עֲלוּת<<'הזן את המחרוזת השנייה:';
ג'ין.getline(chrData2, 100);

אם ( strcmp (chrData1,chrData2)==0)
printf ('המיתרים שווים n');
אַחֵר
printf (״המחרוזות אינן שוות n');

לחזור 0;
}

תְפוּקָה:

לאחר ביצוע הקוד, ערך המחרוזת, ' שלום 'ניתן לשני ערכי הקלט, והפלט הבא יופיע.

סיכום:

שלוש דרכים להשוות מחרוזות ב- C ++ הוצגו במדריך זה באמצעות שלוש דוגמאות פשוטות. הן השימושים של מפעיל ההשוואה והן הפונקציות המובנות לבדיקת שוויון המיתרים תוארו במדריך זה כדי לסייע למתכנתים החדשים של C ++.