פונקציות מחרוזת חלק 2
חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 71 מתוך 74.
הנה פונקציות שימושיות נוספות למחרוזות:
- erase(pos, len): מסירה len תווים החל מהמיקום pos מהמחרוזת הנוכחית.
- find(str): מחזירה את המיקום של ההופעה הראשונה של str במחרוזת הנוכחית. אם לא נמצאה, מחזירה אובייקט כלשהו שאפשר להשוות ל־-1.
- clear(): מסירה את כל התווים מהמחרוזת, והופכת אותה לריקה.
- empty(): מחזירה true אם המחרוזת ריקה, ו-false אחרת.
לדוגמה, באמצעות המחרוזת הבאה:
std::string str = "Hello, World!";int pos = str.find("World");
// פלט: pos = 7 (המיקום שבו "World" מתחילה)str.erase(5, 2);
// פלט: "HelloWorld!"str.clear();
// פלט: "" (מחרוזת ריקה)bool isEmpty = str.empty();
// מחזירה true אם str אינה מכילה תוויםאתגר
קלצור פונקציה בשם stringSearchOperations שמקבלת מחרוזת כקלט ומבצעת את הפעולות הבאות באמצעות פונקציות מחרוזת:
- מאתרת ומדפיסה את המיקום של תו הרווח הראשון במחרוזת.
- מוחקת 4 תווים מהמיקום 5.
- בודקת אם המחרוזת מכילה את המילה "You" ומדפיסה "Found" או "Not Found".
- מנקה את המחרוזת ובודקת אם היא ריקה.
- מדפיסה את התוצאות לאחר כל פעולה.
השתמש בפורמט הבא:
Space Found At: [Position of space]
After Erase: [String after erasing]
Contains You: [Found/Not Found]
Is Empty: [true/false]נסו בעצמכם
#include <iostream>
#include <string>
void stringSearchOperations(std::string str) {
// מצא את הרווח הראשון
// מחק 4 תווים החל ממיקום 5
// בדוק אם המחרוזת מכילה "You"
// רוקן את המחרוזת ובדוק אם היא ריקה
}
int main() {
std::string str;
std::getline(std::cin, str);
stringSearchOperations(str);
return 0;
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר הפעולהקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזותתרגלו בעצמכם: קומפיילר C++ אונליין