Skip to content

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"~(와 끝 구분자)~"는 같아야 합니다.

Clone this wiki locally