鉴于我有一个vector<string> lines
,其中包含从文件中读取的所有行,我怎样才能将向量的内容写回文件,除了将每个文件分割x多行。我更加坚持使用分块问题而不是写回文件。一个例子是if
int offset = 10000;
std::vector<std::string> lines(27000);
...assuming lines has been initialized with lines
鉴于上述情况我应该
file1:10000
file2:10000
file3:7000
答案 0 :(得分:1)
很简单,你只需要一个循环和一个if语句。
ofstream output;
string filename = "filename";
int fileNum = 0;
for(int i = 0; i < vec.size(); ++i){
if(i % 10000 == 0){
if(output.is_open()) output.close();
output.open(filename + to_string(++fileNum));
}
output << vec.at(i);
}
output.close();
这将为27000行文件保存“filename1”,“filename2”和“filename3”中的文件。
免责声明:自由撰写:可能包含语法错误。