【发布时间】:2023-04-02 02:39:01
【问题描述】:
在 C++ 中,如何将字符串拆分成大小均匀的较小字符串?
例如,我有一个字符串“012345678”,并希望将其拆分为 5 个较小的字符串,这应该返回“01”、“23”、“45”、“67”、“8”之类的内容.
我无法确定较小字符串的长度。在前面的示例中,原始字符串的大小为 9,我想将其拆分为 5 个较小的字符串,因此除最后一个之外的每个较小字符串的长度应为 9 / 5 = 1,但最后一个的长度为 9 - 1* 4 = 5,这是不可接受的。
所以这个问题的正式定义:原字符串被分割成正好n个子字符串,并且没有两个子字符串的长度相差大于1。
我的重点不是 C++ 语法或库。这是如何设计一种算法,使返回的字符串大小几乎相等。
【问题讨论】:
-
您能否提供一个关于字符串的示例以及您希望较小的字符串看起来像什么?
-
你指的是
std::string还是一般的char*(c-string)? -
@muntoo 不是同一个问题。
-
@Shuo 是的,这就是我说“另见”的原因。