#define MAXLENGTH 1024 //10 Kb

CFile in, out;
CString sNomeFile;
int i = 0, spezzoni = 0;
char nomeFile[10];

sNomeFile = "c:\\windows\\win.com";

if(!in.Open(sNomeFile, CFile::modeRead | CFile::typeBinary)) {
AfxMessageBox("Impossibile aprire il file " + sNomeFile);
}
else {

BYTE input;
BYTE buffer[MAXLENGTH];

while(in.Read(&input, 1) > 0) {

buffer[i] = input;
i++;
if(i == MAXLENGTH) {

itoa(spezzoni, nomeFile, 10);
strcat(nomeFile, ".txt");

if(!out.Open(nomeFile, CFile::modeCreate | CFile::modeWrite)) {
AfxMessageBox("Impossibile aprire il file in SCRITTURA!");
}
out.Write(buffer, i);
out.Close();

i = 0;
spezzoni++;
}
}
if (i != 0) {
itoa(spezzoni, nomeFile, 10);
strcat(nomeFile, ".txt");

if(!out.Open(nomeFile, CFile::modeCreate | CFile::modeWrite)) {
AfxMessageBox("Impossibile aprire l'ultimo file in SCRITTURA!");
}
out.Write(buffer, i);
out.Close();
}
in.Close();
}