실제로 숫자와 문자열을 ,
으로 분리 된 문자열 (예 : "12,fooBar"
)이 있습니다.문자열 (substr에서) 부호없는 int로 변환
숫자를 unsigned int myNum
의 숫자와 std::string myStr
의 숫자로 분리 된 변수에 넣고 싶습니다.
가 나는 코드의 잘린 다음 한 :
는size_t pos1=value.find(',');
std::cout << value.substr(0, pos1) << " and "
<< (value.substr(0, pos1)).c_str() << std::endl;
이 12 and 1
을 얻을 수 있습니다. 내가 여기서 뭘 놓친 건 없니? 두 번째 부분의 2
은 어떻게됩니까?
참고 : 나는이 코드를 잘랐다. unsigend int
을 얻으려면 c_str()
이 atoi
으로 전달되어야합니다. 여기서는 두 번째 부분을 인쇄하고 싶지 않습니다.
업데이트 : 실제로 levelDB Get
에서 문자열을 가져옵니다. 여기에 넣은 것처럼 테스트 문자열을 입력하면 작동합니다.
당신이 거기에서해야 할 일은 있어야합니다. ([그것은 나를 위해 일한다] (http://ideone.com/NoB87).) * 문제를 보여주는 * * * * minimal * 프로그램을 제공해주십시오. http://sscce.org –
@Rob 어떻게 작동합니까? 두 substrs 모두 동일한 초기 색인을 사용하고 있습니다. 그는 입력의 문자열 부분에 결코 도착하지 않습니다. – Sid
@Sid이 스 니펫은 문자열 부분을 가져 오지 않습니다. 이 스 니펫 코드는'12와 12 '를 생성합니다. OP 노트를보십시오 : "atoi"에 전달하려면'c_str()'이 필요합니다. " –