Is this OK:
CString cEncodedFile;
XSCryptCryptoBase64 b64;
b64.encodeInit();
CFile f;
f.Open(cXMLFile.GetBuffer(999), CFile::modeRead);
int outLen = 10 * 1024 * 4/3 + 4;
BYTE *input = new BYTE[10 * 1024];
BYTE *output = new BYTE[outLen];
int inputSz = f.Read(input, 10 * 1024); int outputSz = 0;
while (inputSz > 0) {
outputSz = b64.encode(input, inputSz, output, outLen );
CString tmp = CString((char*) output, outputSz);
cEncodedFile += tmp;
inputSz = f.Read(input, 10 * 1024);
}
outputSz = b64.encodeFinish(output, outLen - outputSz);
//write_to_wherever(output, outputSz);
CString tmp = CString((char*) output, outputSz);
cEncodedFile += tmp;
I'm missing 1K at the end. :(