我有一个字符串,它实际上包含一个数字和一个字符串,用,
分开,例如"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