המרת מחרוזת לאותיות קטנות

C++:
המרת מחרוזת לאותיות קטנות

איך לעשות:

בדוגמה הבאה נשתמש בפונקציה std::transform כדי להמיר כל אות במחרוזת לאות קטנה.

#include <iostream>
#include <algorithm>
#include <string>
#include <cctype> // לשימוש בפונקציה tolower

int main() {
    std::string text = "HeLLo WoRLD!";
    std::transform(text.begin(), text.end(), text.begin(), 
                   [](unsigned char c) -> unsigned char { return std::tolower(c); });

    std::cout << text; // פלט: hello world!
    return 0;
}

מבט עמוק:

היסטורית, המרה לאותיות קטנות התבצעה גם בעזרת לולאות שרצו על כל תו במחרוזת וביצעו השוואות והמרות ידניות. כלי הסטנדרטי std::transform הגיע לפשט את התהליך הזה. חלופות נוספות כוללות שימוש בפונקציות כמו tolower בצורה ישירה בתוך לולאה או שימוש בספריות שלישיות שמוסיפות יכולות מניפולציה על מחרוזות.

גם כאשר משתמשים בstd::tolower, חשוב להעביר את הפרמטר כ-unsigned char כדי למנוע בעיות עם תווים שאינם חלק מ-ASCII. עם זאת, כשעובדים עם UTF-8 או מערכת תווים אחרת, עלולות להיות דרישות מיוחדות שצריך לתת להן את הדעת.

ראה גם: