에 구현하려는 경우 당신이 아이디어를 얻을 수 있도록 split
시도는 심지어 소스 코드가 ... char 배열의 모든 첫 번째 파일을 읽습니다. 이 그럼 당신은 예를 들어
... 파일에 배열의 첫 번째 절반을 작성하고, 다른 파일에 당신 배열의 다음 하반기 : 또한 상반기를 읽을 수
#include <fstream>
using namespace std;
int main() {
char * buffer;
long size;
ifstream infile ("test.txt",ifstream::binary);
ofstream outfile ("new.txt",ofstream::binary);
ofstream outfile2 ("new2.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/2);
outfile2.write (buffer+size/2,size);
// release dynamically-allocated memory
delete[] buffer;
outfile.close();
infile.close();
outfile2.close();
return 0;
}
, 쓰기 그런 다음 두 번째 반쪽을 읽고 그것을 쓰십시오. 그냥보십시오.
int main() {
char * buffer;
long size;
long halfSize;
ifstream infile ("test.txt",ifstream::binary);
ofstream outfile ("new.txt",ofstream::binary);
ofstream outfile2 ("new2.txt",ofstream::binary);
// get size of file
infile.seekg(0,ifstream::end);
size=infile.tellg();
infile.seekg(0);
halfSize = static_cast<int>(floor(size/2));
// allocate memory for file content
buffer1 = new char[halfSize];
buffer2 = new char[size-halfSize];
// read content of infile
infile.read (buffer1,halfSize);
infile.seekg(halfSize+1);
// read content of infile
infile.read (buffer2,size-halfSize);
// write to outfile
outfile.write (buffer1,halfSize);
outfile2.write (buffer2,size-halfSize);
// release dynamically-allocated memory
delete[] buffer;
delete[] buffer2;
outfile.close();
infile.close();
outfile2.close();
return 0;
}
왜 파일의 시작 부분에서만 데이터를 읽을 수 있습니까? –
글쎄, 나는 파일의 다른 곳에서 그것을 읽는 법을 모른다. – Transcendental