gpt4 book ai didi

c++ - 在 C++ 中拆分文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:12:34 27 4
gpt4 key购买 nike

我需要在不压缩的情况下将一个文件拆分成多个文件。我在 cpp 引用上找到了这个

#include <fstream>
using namespace std;

int main () {

char * buffer;
long size;

ifstream infile ("test.txt",ifstream::binary);
ofstream outfile ("new.txt",ofstream::binary);

// get size of file
infile.seekg(0,ifstream::end);
size=infile.tellg();
infile.seekg(0);

// allocate memory for file content
buffer = new char [size];

// read content of infile
infile.read (buffer,size);

// write to outfile
outfile.write (buffer,size);

// release dynamically-allocated memory
delete[] buffer;

outfile.close();
infile.close();
return 0;
}

我想这样做。但问题是..我只能创建第一个文件,因为我只能从文件的开头读取数据。可以这样做吗?如果不能...拆分这些文件的最佳方法是什么。

最佳答案

示例代码不会将一个文件拆分成多个文件;它只是复制文件。要将一个文件拆分成多个文件,只要不关闭输入。在伪代码中:

open input
decide size of each block
read first block
while block is not empty (read succeeded):
open new output file
write block
close output file
read another block

重要的是不要关闭输入文件,这样每次读取准确地从前面的读取结束的地方开始。

关于c++ - 在 C++ 中拆分文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9227902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com