std::string이 숫자인지 아닌지 판단하는 방법으로 find_first_not_of를 사용하는 방법이 있다.
std::string str;
...
if (str.find_first_not_of("0123456789") == string::npos)
printf("number");
else
printf("not number");
아마 find를 10번을 반복하기 때문에 매우 느릴거라 생각되지만 뭐 어쩔 수 없다.
Boost::regex를 사용하라는 의견도 있었는데 안써봤으니 생략. 그리고 라이브러리 쓰기 귀찮으면 위처럼 하는 것 말고는 답이 없는 듯?
* 참고: http://stackoverflow.com/questions/4654636/how-to-determine-if-a-string-is-a-number-with-c
반응형
'프로그래밍 > C++' 카테고리의 다른 글
bits/stdc++.h 파일 내용 (0) | 2019.02.12 |
---|---|
c++ 로또 번호 생성기 프로그래밍 (0) | 2018.08.09 |
C++ std::set max element 찾는법 (0) | 2017.01.18 |
C++ 랜덤 셔플 (0) | 2016.11.20 |
C++ online judge에서 freopen 사용방법 (0) | 2016.10.16 |