노트

c++) stoi 함수, string에 숫자 이외의 문자가 포함시

tose33 2021. 10. 21. 14:51

stoi() 함수는 string을 integer로 바꿔주는 함수다.

그런데 다음과 같이 string에 숫자가 없는 경우는 어떻게 될까?

 

string s = "abc" 일 경우, stoi: no conversion 오류가 뜬다. 

 

그렇다면 숫자와 문자가 같이 있으면 어떻게 될까.

이때는 두가지 경우로 나뉜다.

1. 숫자가 문자열의 맨앞에 있는 경우

2. 그 이외의 경우

 

1. 숫자가 문자열의 맨앞에 있는 경우

앞에 '숫자'에 해당하는 부분만 변환해서 리턴된다.

 

2. 그 이외의 경우

이 경우는 숫자가 맨앞에 있지 않은 모든 경우이다.

중간에 있던, 맨 뒤에 있던.

두 경우 모두 오류.