C++ में std::string को int में कैसे बदलें?
सभी को नमस्कार! मैं C++ में नया हूँ और एक सरल प्रोग्राम लिख रहा हूँ जो फ़ाइल से एक संख्या पढ़ता है और उस पर अंकगणितीय ऑपरेशन करता है। मेरे पास एक std::string है जिसमें एक संख्यात्मक मान है, जैसे "123"। मुझे इस स्ट्रिंग को int में बदलना है ताकि मैं इसे किसी अन्य वेरिएबल के साथ जोड़ सकूँ।
समस्या यह है कि मैं सीधे int number = myString; नहीं लिख सकता — कंपाइलर त्रुटि देता है। मैंने stoi() का उपयोग करने की कोशिश की, लेकिन मुझे यकीन नहीं है कि यह सही तरीका है, खासकर अगर स्ट्रिंग में अतिरिक्त वर्ण हों (जैसे स्पेस या अक्षर)। मैंने atoi() के बारे में भी सुना है, लेकिन कहा जाता है कि यह पुराना और खतरनाक है।
कृपया बताएँ कि आधुनिक C++ (अधिमानतः C++11 और नए) में std::string को int में सही और सुरक्षित रूप से कैसे बदलें? त्रुटि हैंडलिंग के साथ एक उदाहरण चाहिए ताकि प्रोग्राम क्रैश न हो अगर स्ट्रिंग में अमान्य डेटा हो। पहले से धन्यवाद!
यहाँ मेरा वर्तमान कोड है जो काम नहीं करता:
```cpp
#include
#include
int main() {
std::string s = "456";
```