반응형
이번 글을 통해 배워갈 내용
- 스트링을 숫자로 변경해보겠습니다.
스트링을 int로 변경할때는
atoi 함수를 씁니다.
이때 주의 하실것은
1. 숫자의 자료형이 int인지 확인
2. 오버플로우 int의 경우 최대값 2147483647 을 초과하는지 확인
입니다.
long이나 UINT의 경우 저는
atoi 대신에 stoul(string to unsigned long)을 많이 씁니다.
stoul 의 인자 값은 다음과 같습니다.
str - 변환할 문자열
pos - 처리된 문자 수를 저장할 정수 주소
base - 숫자 자릿수입니다.
추가 설명은 아래 링크를 참조하시면 됩니다(영문)
https://en.cppreference.com/w/cpp/string/basic_string/stoul
아래는 위의 설명을 돕기 위한 예시입니다
한번 타이핑 해보시고
궁금한 사항이 있으시면 댓글 남겨주세요
#include <iostream>
#include <string>
using namespace std;
int main()
{
string myNumStr = "-2147483648";
int myIntNo = atoi(myNumStr.c_str());
cout<<myIntNo << endl;
uint32_t myNo2 = stoul(myNumStr.c_str(), 0, 10);
cout<< myNo2 << endl;
long myNo3 = stoul(myNumStr.c_str(), 0, 10);
cout<< myNo3 << endl;
return 0;
}
오늘도 즐거운 코딩하시길 바랍니다 ~ :)
참조 및 인용
https://en.cppreference.com/w/cpp/types/integer
C++ Primer
https://codemasterkimc.tistory.com/35
반응형
'C++ > C++ 기타' 카테고리의 다른 글
C++에서 new 없이 동적으로 2D 배열을 사용하는 방법에 대한 고찰 (0) | 2021.09.04 |
---|---|
C++ 타입캐스팅에 대한 생각과 팁 (0) | 2021.08.20 |
C++에서 new로 동적 메모리 할당 후 null값 체크를 해야 할까요? (1) | 2021.07.20 |
C++ 열거형의 간단한 정의와 예시 (1) | 2021.07.15 |
C++ 배열없이 데이터 집약적으로 출석 저장해보기 (1) | 2021.07.12 |