我有一個字符串,它實際上包含一個數字和一個字符串,用,
分開,例如"12,fooBar"
。string(from substr)轉換爲unsigned 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
發生了什麼?
注意:我把這個問題隔離到了代碼中。我需要c_str()
將它傳遞到atoi
得到unsigend int
。這裏我不想打印第二部分。
更新:我實際上從levelDB Get
得到字符串。如果我把一個測試字符串像我放在這裏,它的工作原理。
你在那裏應該工作。 ([它適用於我](http://ideone.com/NoB87)。)請提供一個*完整的*,*最小*程序來證明問題。 http://sscce.org – 2012-02-29 14:34:00
@Rob它如何工作?他的兩名隊員都使用相同的初始索引。他將永遠不會接受他輸入的字符串部分。 – Sid 2012-02-29 14:35:10
@Sid,這段代碼不應該得到字符串部分。這段代碼應該產生'12和12'。請參閱OP的註釋:「我需要'c_str()'將它傳遞給'atoi'」。 – 2012-02-29 14:37:24