【发布时间】:2015-09-01 13:13:37
【问题描述】:
我已读取一个文件并将其内容存储到 std::string 变量 BUF 中,现在想将数据拆分为小块,其中每个块包含 25 行。
【问题讨论】:
我已读取一个文件并将其内容存储到 std::string 变量 BUF 中,现在想将数据拆分为小块,其中每个块包含 25 行。
【问题讨论】:
我看到两个选项:
BUF 构造std::istringstream(或使用读取文件的流)并使用std::getline 逐行读取并附加到前一行,同时最多计数25,依此类推... std::string::find,计数为 25,然后使用 std::string::substr 或 std::find 并从迭代器范围构造。我认为这是足够的提示。
【讨论】:
我成功了!
if(N>25) \\N no of lines
{
int i=0;
std::istringstream ss(text);
text="";
string splited,part="";
while(std::getline(ss, splited, '\n')) {
part+=splited+"\n";
if(i==24)
{
i=0;
part.erase(part.size() - 1);
d.Insert(part,time);
cout<<part;
part="";
continue;
}
else{
++i;
continue;
}
}
if(i!=0)
{
d.Insert(part,time);
}
}
else{
d.Insert(text,time);
}
【讨论】: