У меня есть строка, которая на самом деле содержит число и строку, разделенные ,
, например "12,fooBar"
.
Я хотел бы поместить его в разделенные переменные, то есть число в 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
во второй части?
Примечание : Я изолировал проблему от этого фрагмента кода. Мне нужно c_str()
, чтобы передать его atoi
, чтобы получить unsigend int
. Здесь я не хочу печатать вторую часть.
Обновление : Я на самом деле получаю строку из levelDB Get
. Если я поставлю тестовую строку, как я положил здесь, это работает.