std::tolower
Megjelenés
Főnév
std::tolower (tsz. std::tolowers)
- (informatika) A
std::toloweregy függvény, amellyel karaktereket lehet kisbetűssé alakítani C++-ban. Ez akkor hasznos, amikor példáultésT(vagykésK) karakterek között nem akarsz különbséget tenni.
🔧 Használat:
#include <cctype> // <- erre szükség van
char c = 'T';
c = std::tolower(c); // most már 't'
⚠️ Fontos:
std::tolowercsak egy karaktert alakít át.- Ha
std::tolower-t szeretnél használni egy string minden karakterére, akkor azt ciklussal kell végigjárni, pl.for (char &ch : str) ch = std::tolower(ch);
✅ Példa - Felhasználói választás kezelése kis-nagybetű függetlenül:
#include <iostream>
#include <cctype> // std::tolower
using namespace std;
int main() {
char choice;
cout << "t/k? ";
cin >> choice;
choice = std::tolower(choice); // kisbetűs lesz
if (choice == 't') {
cout << "Területet számolunk.\n";
} else if (choice == 'k') {
cout << "Kerületet számolunk.\n";
} else {
cout << "Hibás választás!\n";
}
return 0;
}
✅ Példa: Teljes string kisbetűssé alakítása
#include <iostream>
#include <string>
#include <cctype> // std::tolower
using namespace std;
int main() {
string input;
cout << "Írj be egy szót: ";
cin >> input;
// Minden karakter kisbetűssé alakítása
for (char& c : input) {
c = std::tolower(static_cast<unsigned char>(c));
}
cout << "Kisbetűs változat: " << input << endl;
return 0;
}
🔍 Miért kell a static_cast<unsigned char>?
- A
std::tolowerfüggvény csak azunsigned chartípusra vagy azEOFkonstansra van definiálva. - Ezért
signed charbemenet esetén UB-t (undefined behavior) okozhat, főleg nem angol karaktereknél. - A
static_cast<unsigned char>(c)használata biztonságossá teszi a kódot.
- std::tolower - Szótár.net (en-hu)
- std::tolower - Sztaki (en-hu)
- std::tolower - Merriam–Webster
- std::tolower - Cambridge
- std::tolower - WordNet
- std::tolower - Яндекс (en-ru)
- std::tolower - Google (en-hu)
- std::tolower - Wikidata
- std::tolower - Wikipédia (angol)