C++ में std::string को lowercase में कैसे बदलें?
नमस्ते साथियों!
मैं C++ में नया हूँ (पहले Python में लिखता था) और एक सरल लगने वाली समस्या का सामना किया: मुझे std::string ऑब्जेक्ट के सभी कैरेक्टर्स को lowercase में बदलना है। Python में मैं बस "HELLO".lower() लिखता हूँ और सब तैयार है। लेकिन C++ में मैं अटक गया हूँ।
यह मेरा कोड है जो काम नहीं करता:
```cpp
#include
#include
int main() {
std::string text = "HELLO WORLD!";
std::string lower_text = std::tolower(text); // Error!
std::cout << lower_text << std::endl;
return 0;
}
```
कम्पाइलर error देता है: `cannot convert 'std::string' to 'int' for argument '1' to 'int tolower(int)'`। मैं समझ गया कि `std::tolower` केवल अलग-अलग कैरेक्टर्स (int टाइप) के साथ काम करता है, पूरी स्ट्रिंग के साथ नहीं।
मैंने मैन्युअली loop लिखने की कोशिश की:
```cpp
for (size_t i = 0; i < text.length(); ++i) {
text[i] = std::tolower(text[i]);
}
```
यह काम करता है, लेकिन मुझे यह बहुत भारी और बदसूरत लगता है। क्या C++ में Python की तरह एक लाइन में करने का कोई standard तरीका है?