if (PathFileExists(pdlg->str_upLoadFilePath))
{
CFile file_load;
if (file_load.Open(pdlg->str_upLoadFilePath, CFile::modeRead))
{
DWORD file_len = (DWORD)file_load.GetLength();
pdlg->i_upLoadMaxNum = file_len / 512;
if (pdlg->i_upLoadMaxNum * 512 < file_len)
{
pdlg->i_upLoadMaxNum++;
}
char carr_fileData[512];

UINT u_readLen;
while (TRUE)
{
u_readLen = file_load.Read(carr_fileData, 512);
CString str_temp, str_data;
for (UINT i = 0; i < u_readLen; i++)
{
str_temp.Format(_T("%02X"), (BYTE)carr_fileData[i]);
str_data += str_temp;
}
pdlg->list_strUpFile->AddTail(str_data);
if (u_readLen < 512)
{
break;
}
}
}
file_load.Close();
}
读文件是在线程里,list_strUpFile是对话框类的成员
CStringList *list_strUpFile;//声明
list_strUpFile = new CStringList;//初始化POSITION pos = list_strUpFile->FindIndex(n);//读其中的数据
str_data = list_strUpFile->GetAt(pos);取数据的时候,当n大于560左右的时候就会报错请问,CStringList 如何可以存储更多数据?我的目的是读多个文件,文件大小从1字节---5M,想要把文件截成512字节一包发送出去,请问有什么更好的方法读这些文件?