|
</code>
void __fastcall TForm1::Button2Click(TObject *Sender)
{
short dataSize = 300000;
short btSize = 1024;
AnsiString fileName = "E:\\SUVAData\\111(NORTH)_CH1.NSWD";
double buffer[] = {dataSize*btSize};
FILE *Open;
if((Open = fopen(fileName.c_str(), "rb")) == NULL)
ShowMessage("Can't not open file");
else
{
if(fseek(Open, SEEK_SET, 0) == 0)
{
fread(buffer, sizeof(short), dataSize*btSize, Open);
FILE *outTextFile = fopen("d:\\Header.txt", "ab");
fwrite(buffer, 2, dataSize, outTextFile);
fclose(outTextFile);
fclose(Open);
}
else
{
ShowMessage("fseek function failed.");
}
}
delete [] buffer;
}
소스는 이러합니다. 데이터 파일을 읽어와서 300KB 에 해당하는 데이터만 분할해서 저장하는 소스인데요. 파일 생성은 되지만 내용이 들어오질 않아요 ㅠ
약간씩 고쳐보면 내용이 글자가 깨져서 나오구요. 위에 소스대로하면 파일만 생성되고 안은 텅 비어있네요 -_-;;
어디가 잘못된건지 모르겠습니다ㅠ fwrite 말고 fprintf로 해야할까요? 사수께서 만든 소스로보면 fprintf 로 반복적으로 한 라인씩 읽어서 출력하게 하셨던데..
암 것도 모르는 초짜의 생각으론 한 꺼번에 읽어서 한 번에 쓰는게 빠르고 낫지 않을까...싶어서요.
그리고 한 가지 더 조언부탁드리자면 위에 파일을 읽어오는 부분에서, 사용자가 원하는 파일을 선택하게 하는 방법을 알고 싶습니다!!
|