【发布时间】:2012-08-16 21:41:22
【问题描述】:
我想在 C++ 中将二进制字符串转换为整数字符串。例如:
"000000000010" 变为 "2"
我有以下限制:我不能将此字符串转换为整数类型,然后再将其转换为字符串,因为二进制字符串可能非常大!
我已经尝试用stringstream 来做,用std::stringstream::binary 标志插入二进制字符串,然后使用std::dec 标志输出内容,但它不起作用
提前谢谢大家。
【问题讨论】:
-
欢迎来到 Stack Overflow!我们鼓励您research your questions。如果您有 tried something already,请将其添加到问题中 - 如果没有,请先研究并尝试您的问题,然后再回来。
-
这听起来像是作业,如果是,请标记它。
-
为了适应 int 字符串不能很大,因为 int 通常只包含 32 位,使得字符串的有效最大长度为 32 个字符。
-
这个项目需要最少的研究,你应该能够毫无问题地找到自己。
-
致任何想要结束这个问题的人:这不是上述问题的完全重复。 OP 明确指出他需要转换为字符串,没有任何整数中间状态,因此对该问题的任何答案都不会在这里起作用。