2010-03-01 6 views
4

유형 변환에 대한 개요는 어디에서 찾을 수 있습니까? 예 : 문자열을 정수로 변환할까요?C++ 유형 변환

지금까지 의견으로 인해 나는 다음과 같은 목록/테이블을 찾고 있습니다 : 문자열을 int로 변환하려면 다음을 사용하십시오. ... 그리고 다른 데이터 형식 (where 가능한 경우) : double에서 int, char에서 string으로 ...

+2

C++에는 문자열의 일부로 정수 변환이 없으므로 매우 간단한 요약이됩니다. 아마도 좀 더 구체적인 질문을 게시 할 수 있습니까? – bmargulies

+5

Jeeze, 너희들은 가혹하다. 이것은 매우 합리적인 것처럼 보입니다 - 조금 짧은 질문이라도. 아마 투표권을 행사할 가치는 없지만 6 개 투표권을 얻지는 못할 것입니다. –

+1

@anthares, +1 나를 때려 눕힌다. – Cam

답변

11

문자열이 다른 유형과의 문자열 인 경우 stringstream 또는 boost::lexical_cast입니다.

다른 유형의 경우 유형에 따라 다르지만 표준 캐스트 템플릿을 조회 할 수 있습니까? static_castdynamic_cast은 필요한 대부분의 작업을 수행해야하며, 기존 시스템을 처리 할 때만 유용하게 사용되는 const_cast 및 reinterpret_cast가 있습니다.

+1

자기 승격을 의미하는 것은 아니지만,이 대답은'lexical_cast'를 사용하는 방법과 스트림을 이용한 단순한 부스트 대체를 만드는 방법을 보여줍니다. http://stackoverflow.com/questions/1243428/convert-string-to-int-with-bool-fail-in-c/1243435#1243435 – GManNickG

+0

@jk; 귀하의 답변에 @GMan - thx. – Wikis

0

표준 라이브러리에는 문자열 < -> int 변환을 수행하는 함수가 있습니다. C++에서 모든 참고 도서를 가져 오거나 Google을 검색해야합니다.

내가 C 더 잘 알고 있어요,하지만 난 C++ 기능이 동일한 생각 : atoi 함수, strtoi 등

+0

표준 C++ 접근 방식에 대한 jk의 대답을 참조하십시오. – Bill

1

스트림은 기본적으로 C++의 문자열 변환 연산자입니다.

또한 sprintf의 C 변환 방법을 사용할 수 있지만 오류가 발생하기 쉽고 안전하지 않습니다.