mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
fix toupper and tolower
This commit is contained in:
parent
405b8188ff
commit
ea2e16c931
10
src/str.cpp
10
src/str.cpp
@ -208,13 +208,19 @@ int utf8len(unsigned char c, bool suppress){
|
|||||||
|
|
||||||
Str Str::lower() const{
|
Str Str::lower() const{
|
||||||
std::string copy(data, size);
|
std::string copy(data, size);
|
||||||
std::transform(copy.begin(), copy.end(), copy.begin(), [](unsigned char c){ return std::tolower(c); });
|
std::transform(copy.begin(), copy.end(), copy.begin(), [](unsigned char c){
|
||||||
|
if('A' <= c && c <= 'Z') return c + ('a' - 'A');
|
||||||
|
return (int)c;
|
||||||
|
});
|
||||||
return Str(copy);
|
return Str(copy);
|
||||||
}
|
}
|
||||||
|
|
||||||
Str Str::upper() const{
|
Str Str::upper() const{
|
||||||
std::string copy(data, size);
|
std::string copy(data, size);
|
||||||
std::transform(copy.begin(), copy.end(), copy.begin(), [](unsigned char c){ return std::toupper(c); });
|
std::transform(copy.begin(), copy.end(), copy.begin(), [](unsigned char c){
|
||||||
|
if('a' <= c && c <= 'z') return c - ('a' - 'A');
|
||||||
|
return (int)c;
|
||||||
|
});
|
||||||
return Str(copy);
|
return Str(copy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user