C++:
מציאת אורך מחרוזת
איך לעשות:
#include <iostream>
#include <string>
int main() {
std::string myString = "שלום עולם";
std::cout << "אורך המחרוזת: " << myString.length() << std::endl;
// או באמצעות size()
std::cout << "אורך המחרוזת: " << myString.size() << std::endl;
return 0;
}
פלט לדוגמה:
אורך המחרוזת: 10
אורך המחרוזת: 10
עיון עמוק
בתחילה, בשפות תכנות מוקדמות כמו C, אורך מחרוזת נמדד באמצעות מעבר על כל התווים עד למציאת תו סיום, ‘\0’. ב-C++, מחלקת std::string
מקלה עלינו את העבודה עם הפונקציות length()
ו-size()
שמחזירות את אורך המחרוזת. שתי הפונקציות הללו הן בעצם שקולות ומבצעות את אותה הפעולה.
חלופות כוללות את שימוש ב-C-style strings וחישוב אורך באמצעות פונקציה כמו strlen
, אבל זה פחות מומלץ ב-C++ מכיוון שזה יכול לגרום לשגיאות ריצה וזה לא יעיל כמו שימוש ב-std::string
.
מבחינת פרטי יישום, length()
ו-size()
בדרך כלל מחזירות את הערך של משתנה מסוג size_t
ששמור בתוך אובייקט המחרוזת, מה שמאפשר מבט ישיר ומהיר לאורך המחרוזת ללא צורך בחישוב.
ראה גם
- תיעוד המקור למחלקת
std::string
ב-C++: https://en.cppreference.com/w/cpp/string/basic_string - מדריך למחרוזות ב-C++: https://www.learncpp.com/cpp-tutorial/stdstring/
- איך מחרוזות עובדות ב-C: https://www.tutorialspoint.com/cprogramming/c_strings.htm