Stoi()는 문자열을 정수로 바꾸는 표준 라이브러리 함수입니다. C++ 프로그래머는 문자열에서 정수를 얻기 위해 문자열을 정수로 나타내는 함수를 활용합니다. 또한, stoi() 함수는 문자열의 후행 문자와 같은 다른 구성 요소를 제거할 수 있습니다.
통사론:
int stoi (string s, size_t* position = 0, int base = 10)>
매개변수:
- 변환해야 하는 문자열이 첫 번째 매개변수입니다.
- 읽은 문자 수를 추적하는 데 사용되는 정수의 위치입니다. 해당 시나리오에서는 이 매개변수가 널 포인터인 경우에는 사용되지 않습니다.
- 세 번째이자 마지막 매개변수는 base입니다. 시퀀스의 형식은 이것이 0인 경우 사용되는 밑수를 결정합니다. 인수가 전달되지 않으면 기본 10(십진수)을 사용합니다.
예:
입력: 1프로그래머 없음;
산출: 1
입력 : HelloWorld54;
산출 : 'std::invalid_argument' 인스턴스를 던진 후 호출되는 종료
설명: 첫 번째 문자가 정수가 아닌 경우 stoi() 함수가 종료되기 때문에 오류가 발생합니다.
jfx 자바 튜토리얼입력 : 키보드가 1개 있습니다.
산출 : 'std::invalid_argument' 인스턴스를 던진 후 호출되는 종료
what(): 스탠드
반환 유형: 전달된 인수의 문자열 값 서 있는() 함수는 정수로 반환됩니다.
어떻게 작동하나요?
문자열을 인수로 받아들이는 stoi() 함수는 문자열의 정수 구성 요소를 정수 유형으로 변환할 수 있습니다. 정수가 아닌 첫 번째 요소 또는 문자열 끝까지의 정수 값만 고려합니다.
아래 프로그램을 실행하면 런타임에 오류가 발생합니다. 이는 stoi() 함수가 정수가 아닌 문자나 공백 문자를 발견하면 문자열 탐색을 중지하기 때문입니다. stoi() 함수는 초기 문자가 정수가 아닌 경우 종료됩니다.
예:
C++
자바 문자열 배열
// C++ Program to convert> // string into integer> // Using stoi function> // Error occurred> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string s =>'GeeksForGeeks 1'>;> >// calling stoi() passing string as parameter.> >int> n = stoi(s);> >cout << n;> }> |
>
>
알파벳 숫자
terminate called after throwing an instance of 'std::invalid_argument' what(): stoi>
stoi() 함수가 1 앞에 공백 문자를 발견했기 때문에 오류가 발생합니다.
예:
C++
// C++ Program to convert> // string into integer> // Using stoi> #include> #include> using> namespace> std;> // Driver Code> int> main()> {> >string str =>'2009, techcodeview.com_founded'>;> >string str1 =>'0x6C1'>;> >string str2 =>'-10010010101'>;> >// Calling stoi() for all strings.> >int> num = stoi(str);> >int> num_hex = stoi(str1, nullptr, 16);> >int> num_bin = stoi(str2, nullptr, 2);> >// printing converted values> >cout << str <<>': '> << num << endl;> >cout << str1 <<>': '> << num_hex << endl;> >cout << str2 <<>': '> << num_bin << endl;> >return> 0;> }> |
>
>산출
2009, techcodeview.com_founded: 2009 0x6C1: 1729 -10010010101: -1173>
시간 복잡도: O(n) // n은 문자열의 길이입니다.
리눅스에서 파일 편집하기
보조 공간: 오(1)