C++ में std::string को lowercase में कैसे बदलें?
सभी को नमस्ते! मैं C++ में नया हूँ और टेक्स्ट प्रोसेसिंग के लिए एक छोटा प्रोग्राम लिख रहा हूँ। मुझे स्ट्रिंग के सभी कैरेक्टर्स को lowercase में बदलना है। मुझे पता है कि C में से tolower() फंक्शन है, लेकिन यह केवल अलग-अलग कैरेक्टर्स (int) पर काम करता है। मैं इसे पूरी std::string पर कैसे लागू करूँ?
मैंने इस तरह का लूप लिखने की कोशिश की:
```cpp
#include
#include
#include
int main() {
std::string str = "Hello World!";
for (int i = 0; i < str.size(); ++i) {
str[i] = tolower(str[i]);
}
std::cout << str << std::endl;
return 0;
}
```
कोड कंपाइल हो जाता है, लेकिन मुझे यकीन नहीं है कि यह सही और सुरक्षित है। क्या STL का उपयोग करके अधिक idiomatic तरीका है? मैंने std::transform के बारे में सुना है, लेकिन समझ नहीं आता कि इसे tolower के साथ कैसे लागू करूँ। साथ ही, tolower int लेता है, char नहीं — क्या char के नकारात्मक मानों (क्योंकि char signed हो सकता है) के साथ कोई समस्या होगी?
कृपया बताएँ कि सही और कुशल तरीके से कैसे बदलें।