草庐IT

C++:如何将字符串拆分为大小均匀的较小字符串?

在C++中,如何将字符串拆分为大小均匀的较小字符串?例如,我有一个字符串“012345678”,我希望它将它分成5个更小的字符串,这应该会返回类似“01”、“23”、“45”、“67”、“8”的内容.我无法确定较小字符串的长度。在前面的示例中,原始字符串的大小为9,我想将其拆分为5个更小的字符串,因此除最后一个之外的每个更小的字符串的长度应为9/5=1,但最后一个字符串的长度将为9-1*4=5,这是NotAcceptable。因此这个问题的正式定义:原始字符串被拆分为EXACTLYn个子字符串,并且任何两个子字符串的长度差异不应大于1。我的重点不是C++语法或库。它是如何设计一种算法,

c++ - 如果内部的总工作相同,将 for 循环拆分为多个 for 循环的开销是多少?

这个问题在这里已经有了答案:Whyareelementwiseadditionsmuchfasterinseparateloopsthaninacombinedloop?(10个答案)Performanceofbreakingapartoneloopintotwoloops(6个答案)关闭9年前。像这样拆分for循环的开销是多少,inti;for(i=0;i像这样进入多个for循环?inti;for(i=0;i代码是性能敏感的,但执行后者会显着提高可读性。(如果重要的话,除了几个访问器外,每个循环内没有其他循环、变量声明或函数调用。)我不完全是一个低级编程大师,所以如果有人可以衡量与基

c++ - 如何将路径拆分为单独的字符串?

这是一个补充问题:Howtobuildafullpathstring(safely)fromseparatestrings?所以我的问题是,如何以跨平台的方式将路径拆分为单独的字符串。这solution,使用Boost.Filesystem非常优雅,Boost必须实现一些splitPath()函数。我找不到。注意:请记住,我可以自己完成这项任务,但我对封闭式解决方案更感兴趣。 最佳答案 确实有path_iterator。但如果你想要优雅:#includeintmain(){for(auto&part:boost::filesyste

c++ - 使用循环将字符串拆分为特定长度的子单元

我需要将一个字符串拆分成特定的长度,例如如果用户将其指定为最大长度为4的单位,则循环应在原始输入"0123456789asdf"上运行以获取"0123"、"4567",“89as”,“df”。我真的想不出最好的方法来做到这一点-我需要它处于循环中,因为需要对强的每个子单元进行进一步处理。TIA。编辑:我不知道原来的字符串有多长,我只知道它需要变成的block的大小。此外,我需要指定长度的字符串block,以及包含字符串的剩余部分的最后一个block(如果它小于指定长度)。 最佳答案 stringstr("0123456789asdf

c++ - 将字符串拆分为 vector C++

我写了一个简单的代码来从每个“/”中拆分字符串并存储到vector中。我的字符串可能以/开头,也可能不以/结尾。例如,如果我的字符串是:string="/home/desktop/test/"Iwanttoandanotherexamplestring="../folder1/folder2/../pic.pdf/"Iwanttostore但是,我的代码给了我对于第一个例子和对于第二个例子有没有人可以帮助我?这是我的代码:#include#include#includeusingnamespacestd;intmain(){stringstrLine("/cd/desktop/../t

windows - 根据大小将文本文件拆分为更小的文件 (Windows)

偶尔会创建日志(.txt)文件,这些文件太大而无法打开(5GB+),我需要创建一个解决方案来拆分成更小的可读block以便在写字板中使用。这是在WindowsServer2008R2中。我需要的解决方案是批处理文件、powerShell或类似的东西。理想情况下,应该硬编码每个文本文件不超过999MB,并且不要停在一行的中间。我在https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Split-large-log-6f2c4da0找到了一个与我的需求类似的解决方案,它有时可以(按行数)工作###############

windows - 使用 Windows 批处理脚本将文本文件拆分为多个文件

我需要使用Windows批处理脚本将一个文本文件拆分为多个文件,有人可以点亮我吗?示例文本文件:abc1-10abc1-11abc1-12xyz2-01xyz2-02xyz3-01xyz3-02在这种情况下,它必须分成3个文件,第一个包含abc1-xx行,第二个包含xyz2-xx和xyz3-xx转到最后一个 最佳答案 您可以使用批处理文件,但为什么不直接使用FINDSTR命令?findstr/R"^abc1-"sample.txt>file1.txtfindstr/R"^xyz2-"sample.txt>file2.txtfinds

REDIS sorted set 排序时间分为两种

Redis4.0.8我想按createDate和endDate对以下数据进行排序:info.item:*field:createDate,endDate,NamecreateDateisnowtimetoNumericTimeendDateisArandomlysetdateatafternowNameisanything我在item_List:中设置了info.item:*zadditem_ListendDateinfo.item:*ifcreateDateis2018-03-06toNumericofinfo.item:1endDateis2018-03-07toNumeric(下

mysql - 使用动态表名分配将表拆分为新的多个表

我有一个“TableOriginal”,我想将其“拆分”成多个表,每个表的名称值都不同于“拆分“tableOriginal”中的列。因此,名称必须是动态的(可能由作为先前查询结果的变量形成)。原始表格:+----+-------+-------+|id|split|value|+----+-------+-------+|1|A|v1||2|A|v2||3|A|v3||4|B|v4||5|B|v5||6|B|v6||7|C|v7||8|C|v8||9|A|v9||10|B|v10||11|B|v11||12|C|v12|+----+-------+-------+TableSplit_

mysql - 将十六进制索引拆分为 n 个部分

我有一个表,其中包含字符串中的主键,例如12a4...、c3af...。我想并行处理它们:process_them(1,4)onmachine1process_them(2,4)onmachine2process_them(3,4)onmachine3process_them(4,4)onmachine4做上面的操作必须选择表中的所有行,没有机器相互协调。我能想到的最好的主意是将它们分成16个,例如:select*fromtablewhereidlike'1%'...select*fromtablewhereidlike'e%'select*fromtablewhereidlike'f