void kfs2(string in_name, long int max) {
stringstream sfename;
fstream in(in_name.c_str(), ios::binary|ios::in|ios::ate);
if(in.is_open()) {
long int fsize = in.tellg();
in.seekg(0, ios::beg);
long int r = fsize;
int i = 0;
char * buffer = new char[max+1];
fstream out;
int len = in_name.length();
while(max <= r) {
i++;
sfename<<in_name.substr(0, len-4)<<".part"<<i;
in.read(buffer, max);
out.open(sfename.str().c_str(), ios::out|ios::binary);
out.write(reinterpret_cast<const char *>(buffer), max);
out.close();
sfename.str("");
r -= max;
}
if(r>0) {
i++;
sfename<<in_name.substr(0, len-4)<<".part"<<i;
in.read(buffer, r);
out.open(sfename.str().c_str(), ios::out|ios::binary);
out.write(reinterpret_cast<const char *>(buffer), r);
out.close();
sfename.str("");
}
in.close();
out.close();
delete[] buffer;
}
}
Thanks.

New Topic/Question
Reply




MultiQuote






|