|
일단 질문이 두가지 인데요.
memo콤포넌트에 이진 파일을 hexa형태로 출력해주는 코드를 작성했습니다.
그런데 memo가 원래 그런건지, 스크롤링때문에 그런건지, 전체 파일을 뿌려주는데
시간이 꽤나 걸리네요. 아래코드에서 memo->Add만 빼도 읽는 시간은 극히 작던데요.
또한가지 질문은 파일크기가 몇백메가가 넘어가야하는데 이게 memo에서 감당이 되는건지도
궁금합니다. 아님 다른 콤포넌트를 써야하는지..
아래는 작성한 코드입니다.
내용을 뿌려주는 속도와, 많은 내용을 담아야하는 크기의 문제를 둘다 해결할 수
있는 방법이 없을까요?
ifstream fin;
fin.open(str_file_name.c_str(),ios_base::in|ios_base::binary);
if(!fin.is_open())
return false;
AnsiString str_restore,str_temp;
formMain->MemoSource->Clear();
unsigned char str_buf[20];
while(1)
{
str_restore="";
fin.read((unsigned char*)str_buf,sizeof (unsigned char) * 16);
if(fin.eof())
break;
for(int count1=0;count1<16;++count1)
{
str_temp.printf("%02x",str_buf[count1]);
str_restore+=str_temp+" ";
}
formMain->MemoSource->Lines->Add(str_restore);
}
|