כיצד להשתמש בפונקציה find_first_of () ב- C ++

How Use Find_first_of Function C



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

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

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







תכונות של הפונקציה find_first_of ()

ה find_first_of () פונקציה יכולה להחזיר סוגים שונים של משתנים בהתבסס על הערך של הארגומנט הראשון. הוא יחזיר את מיקום החיפוש של המחרוזת אם ערך הארגומנט הראשון הוא מחרוזת. הוא יחזיר את מיקום החיפוש של מחרוזת התווים אם המצביע למערך תווים יינתן בארגומנט הראשון. הוא יחזיר את עמדת החיץ אם יינתן הערך של הארגומנט השלישי. הוא יחזיר את מיקום התו אם ניתנת תו בארגומנט הראשון והוא קיים במחרוזת הראשית. מיקום ההתחלה של החיפוש נקבע בארגומנט השני של פונקציה זו. התחביר השונה של פונקציה זו ניתן להלן.



תחביר

string size_t find_first_of (const string & str, size_t pos = 0) const;
c-string size_t find_first_of (const char* s, size_t pos = 0) const;
buffer size_t find_first_of (const char* s, size_t pos, size_t n) const;
תו size_t find_first_of (char c, size_t pos = 0) const;



דוגמה 1: חפש והחליף את התו המסוים של מחרוזת

הדוגמה הבאה מציגה את הדרך לחפש את המיקום של הדמות המסוימת במחרוזת. צור קובץ C ++ עם הקוד הבא כדי להחליף את התו המסוים בתו אחר. בקוד, ה- find_first_of () הפונקציה שימשה לחיפוש כל המיקומים של תו מסוים במחרוזת והחלפת התווים בתו אחר באמצעות הלולאה. המחרוזת המקורית והמחרוזת שהוחלפו יודפסו לאחר ביצוע הקוד.





// כלול להדפסת הפלט
#לִכלוֹל
// כלול לשימוש בגודל_ט
#לִכלוֹל

intרָאשִׁי()
{
// אתחל משתנה מחרוזת
שעה (ות::חוּטstrData('ברוכים הבאים ל- LinuxHint');
// הדפס את המחרוזת המקורית
שעה (ות::עֲלוּת << 'המחרוזת המקורית היא:' +strData<< ' n';
// גלה את כל המיקום של הדמות 'אני'
שעה (ות::גודל_טרשימת החיפוש=strData.מצא_ראשון_מה('אני');
// חזור על הלולאה כדי להחליף את כל ה'i 'ב-'@'
בזמן (רשימת החיפוש!=שעה (ות::חוּט::npos)
{
strData[רשימת החיפוש] = '@';
רשימת החיפוש=strData.מצא_ראשון_מה('אני', SearchList+1);
}
// הדפס את המחרוזת שהשתנתה
שעה (ות::עֲלוּת << 'המחרוזת שהשתנתה היא:' +strData<< ' n';

לַחֲזוֹר 0;
}

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע הקוד לעיל.



דוגמה 2: חפש את המיקום הראשון של דמויות החיפוש

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

// כלול להדפסת הפלט
#לִכלוֹל

intרָאשִׁי()
{
// אתחל את משתנה המחרוזת
שעה (ות::חוּטstrData( 'תכנות בסיסיות של C ++');
// הצהירו על משתנה האינטרגר לאחסון המיקום
intעמדה;
// חפש את התו 'C ++'
עמדה=strData.מצא_ראשון_מה( 'K ++' );
// בדוק את ערך המיקום
אם (עמדה> = 0)
{
// הדפס את המיקום אם נמצאה תו כלשהו
שעה (ות::עֲלוּת << 'הדמות '' <<strData[עמדה]
<< '' נמצא' << 'בעמדה' <<עמדה<< ' n';
}

לַחֲזוֹר 0;
}

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע הקוד לעיל. כאן, הדמות, ' + 'של המחרוזת,' K ++ 'מצא בעמדה, 7 של המחרוזת הראשית, ' תכנות בסיסיות של C ++ '.

דוגמה 3: חפש דמות מסוימת אחרי המיקום המסוים

צור קובץ C ++ עם הקוד הבא לחיפוש תו מסוים אחרי המיקום המסוים. נתוני מחרוזת מאוחסנים במשתנה המחרוזת, ומחפשים מחרוזת מסוימת לאחר המיקום, 13. אם נמצא תו כלשהו של מחרוזת החיפוש במחרוזת הראשית, אזי ערך המיקום יוחזר.

// כלול להדפסת הפלט
#לִכלוֹל

intרָאשִׁי()
{
// אתחל משתנה מחרוזת
שעה (ות::חוּטstrData= 'לאכול בשביל לחיות, לא לחיות כדי לאכול';
// הדפס את המחרוזת המקורית
שעה (ות::עֲלוּת << 'המחרוזת המקורית היא:' +strData<< ' n';
// הדפס את המיקום שבו נמצאה התו האחרון
שעה (ות::עֲלוּת<<'הדמות התואמת האחרונה שנמצאה במיקום:'
<<strData.מצא_ראשון_מה('בְּ',13) << ' n';
לַחֲזוֹר 0;
}

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע הקוד לעיל. כאן, הדמות, ' ל 'של המחרוזת,' בְּ- 'מצא בעמדה, חֲמֵשׁ עֶשׂרֵה של המחרוזת הראשית, ' לאכול כדי לחיות, לא לחיות כדי לאכול '.

דוגמה 4: חפש את המיקום של המספר התואם הראשון

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

// כלול להדפסת הפלט
#לִכלוֹל
// כלול לחיפוש נתונים בווקטור
#לִכלוֹל
// כלול לשימוש בנתוני וקטור
#לִכלוֹל

intרָאשִׁי()
{
// הצהירו על רשימת וקטורים שני
שעה (ות::וֶקטוֹררשימה 1{10,5,65,31,7};
שעה (ות::וֶקטוֹררשימה 2{2,77,5,38,32,55};
// חפש את נתוני list1 לרשימה 2
אוטומטיתְפוּקָה=שעה (ות::מצא_ראשון_מה(רשימה 1.התחל(), רשימה 1.סוֹף(), רשימה 2.התחל(), רשימה 2.סוֹף());
// קראו את מיקום המספר התואם
intעמדה=שעה (ות::מֶרְחָק(רשימה 1.התחל(), פלט);

// בדוק כל מספר של התאמה list1 עם מספר כלשהו של list2
אם (תְפוּקָה<רשימה 1.סוֹף()) {
שעה (ות::עֲלוּת << 'המספר התואם הראשון' <<רשימה 1[עמדה] << 'נמצא במיקום' <<עמדה<< ' n';
}
אַחֵר {
שעה (ות::עֲלוּת << 'לא נמצא מספר תואם. n';
}
}

תְפוּקָה:

הפלט הבא יופיע לאחר ביצוע הקוד לעיל. ערך המספר, 5 של המערך הראשון, קיים במערך השני והמיקום של מספר זה הוא 1.

סיכום

ניתן להשתמש בפונקציה find_first_of () לחיפוש תו או מספר למטרות תכנות שונות. ניתן להשתמש בפונקציה זו לפתרון בעיות החיפוש השונות. אני מקווה שתכנת C ++ יוכל להשתמש בפונקציה כראוי לאחר קריאת הדרכה זו.