-
Notifications
You must be signed in to change notification settings - Fork 2
2014 07 22 숫자와 문자열 간 상호 변환, 로우 문자열 리터럴
krikit edited this page Nov 26, 2014
·
1 revision
Java에는 Integer.toString()과 같이 숫자를 문자열로 변환하는 static 메서드가 존재합니다. C++11에서는 to_string()이라는 변환 함수를 제공합니다.
double val = 3.14;
std::string str = to_string(val);
또한, 그 반대의 함수도 제공합니다. 단, 문자열에서 정수나 실수에 해당하는 데이터 타입으로 변환하는 함수는 이름이 조금씩 다릅니다.
std::string str = "1234";
int val = stoi(str);
다음과 같은 함수 들이 있습니다. stoi(int), stol(long), stoul(unsigned long), stoll(long long), stoull(unsigned long long), stof(float), stod(double), stold(long double)
C++11에서는 로우 문자열 리터럴이라는 개념이 도입되었습니다. 이로 인해, escape 문자를 이용해 번거롭게 문자열을 작성하지 않아도 됩니다.
std::string str = R"(1st line
"2nd" line
...
last \t line)";
로우 문자열 리터럴은 R"(
로 시작하고 )"
로 끝납니다. "
와 (
사이에 구분자로 아무거나 넣어도 됩니다. 단, 시작 구분자 R"~(
와 끝 구분자)~"
는 같아야 합니다.