|
감사합니다.덕분에 도움이 많이 되었네요.^^
추운데 감기 조심하시구요.
from heartsim
타짜 님이 쓰신 글 :
: heartsim 님이 쓰신 글 :
: : 안녕하세요.빌더 초보입니다.
: : 아래와 같이 OpenDialog1->FileName으로 파일을 오픈해서
: : 그 파일을 바이너리로 읽었습니다.
: : 그리고 그 내용이 mem포인터에 들어가 있는데,,,
: : 이것을 RichEdit에 출력할려고 하는데, char타입을 String타입으로 바꿀수 없다고 하네요.
: : 방법이 없을가요?
: :
: : FILE *file;
: : char *mem;
: :
: : mem=(char *)malloc(filename.Length());
: :
: : file=fopen(filename.c_str(),"rb");
: : fread(mem,filename.Length(),1,file);
: : EditForm->RichEdit1->Lines=mem;
: :
: : free(mem);
: :
: : 그리고 한가지 더 질문이 있는데,
: : RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
: : 이것과 같이 하면 텍스트로 읽어서 RichEdit에 출력이 되는데,
: : 바이너리로 출력하는 방법은 없나요?
: :
: :
: : 즐거운 하루되세요.
:
: 안녕하세요.. 저역시 빌더 초보입니다...
: 위의 내용을 보니 좀 이상한데가 몇군데 보이긴 한데.. ㅡㅡ''
: 우선 메모리 할당하는 부분이 좀 이상합니다.. 뭐 저렇게 해도 상관은 없지만 보니까.. 님의 의도는 File 의 내용을 한방에 모두 읽어서 하려는 모양인데.. 그러기엔 좀 이상하네요..
:
: 그리고 EditForm->RichEdit1->Lines = mem; 이라는 구문 역시 이상합니다..
: 차라리 EditForm->RichEdit1->Lines->Add( mem ); 이렇게 하려고 한 것이 아닌지...
:
: 아래에 제 나름대로 한번 적어봤습니다.. 별로 참고 할껀 못되고.. 그냥 한번 적어봅니다..
:
: FILE *fp;
: char line[256];
:
: if(( fp = fopen( filename.c_str(), "rb" )) == NULL )
: {
: MessageBox( Handle, "File open error", "", MB_OK );
: return;
: }
:
: ZeroMemory( line, sizeof( line ) );
: while( !feof( fp ) )
: {
: fgets( line, sizeof( line ), fp );
: Form1->RichEdit1->Lines->Add( line );
: }
:
: fclose( fp );
: delete fp;
:
: 이렇게 하는 것은 어떻지.. ㅡㅡ'' 테스트는 안해본겁니다.. 그냥 생각나는 대로 적어서리... --;
: 그럼 즐프하세요... 아마 고수님들이 더 좋은 리플 달아주실꺼예요.. ^^
:
|