logo

פונקציית Stoi ב-C++

ה עוֹמֵד הוא ספרייה סטנדרטית C++ פונקציה הממירה מחרוזת למספר שלם. זה מייצג 'מחרוזת למספר שלם' . זה לוקח מחרוזת כקלט ומחזיר את הערך השלם המתאים. הפונקציה יכולה להעלות חריג מסוג std::invalid_argument אם מחרוזת הקלט אינה מייצגת מספר שלם חוקי.

דוגמאות לשימוש ב-stoi ב-C++:

 #include #include int main() { std::string str1 = '123'; int num1 = std::stoi(str1); std::cout<< num1 << std::endl; // Output: 123 std::string str2 = '-456'; int num2 = std::stoi(str2); std::cout<< num2 << std::endl; // Output: -456 std::string str3 = '7.89'; try { int num3 = std::stoi(str3); } catch (std::invalid_argument&e) { std::cout<< 'Invalid argument: ' << str3 << std::endl; } return 0; } 

תְפוּקָה

מופע של ב-java
 123 -456 

בדוגמה הראשונה, המחרוזת '123' מומר למספר השלם 123 . בדוגמה השנייה, המחרוזת '-456' מומר למספר השלם -456 . בדוגמה השלישית, המחרוזת '7.89' אינה מספר שלם חוקי, אז א std::invalid_argument יוצא מן הכלל נזרק.

קטע קוד לדוגמה אחר:

 #include #include int main() { std::string str1 = '100'; int num1 = std::stoi(str1); std::cout<< num1 << std::endl; // Output: 100 std::string str2 = '200'; int num2 = std::stoi(str2, 0, 16); std::cout<< num2 << std::endl; // Output: 512 std::string str3 = '300'; int num3 = std::stoi(str3, nullptr, 8); std::cout<< num3 << std::endl; // Output: 192 std::string str4 = 'abc'; try { int num4 = std::stoi(str4); } catch (std::invalid_argument&e) { std::cout<< 'Invalid argument: ' << str4 << std::endl; } return 0; } 

תְפוּקָה

אלפבית במספרים
 100 512 192 Invalid argument: abc 

הדוגמה הראשונה ממירה את המחרוזת '100' למספר השלם העשרוני 100 . בדוגמה השנייה, המחרוזת '200' מומר למספר השלם הקסדצימלי 512 על ידי מעבר 0 כטיעון השני ו 16 כטיעון השלישי ל עוֹמֵד .

בדוגמה השלישית, המחרוזת '300' מומר למספר השלם האוקטלי 192 על ידי מעבר nullptr כטיעון השני ו 8 כטיעון השלישי לסטואי.

בדוגמה הרביעית, המחרוזת 'א ב ג' אינו מספר שלם חוקי, אז א std::invalid_argument יוצא מן הכלל נזרק.