I want to convert a std::string
to lowercase. I am aware of the function tolower()
, however in the past I have had issues with this function and it
Copy because it was disallowed to improve answer. Thanks SO
string test = "Hello World";
for(auto& c : test)
{
c = tolower(c);
}
Explanation:
for(auto& c : test)
is a range-based for loop of the kind
for (
range_declaration
:
range_expression
)
loop_statement
:
range_declaration
: auto& c
Here the auto specifier is used for for automatic type deduction. So the type gets deducted from the variables initializer.
range_expression
: test
The range in this case are the characters of string test
.
The characters of the string test
are available as a reference inside the for loop through identifier c
.