我的问题怎么变成这样了。。我的问题是这样:
如何定义一个二进制流啊。
我用以下的代码:
Byte *Buffer;
TFileStream *FileTemp1=new TFileStream("E:\\temp.bmp",fmOpenReadWrite);
TFileStream *FileTemp2=new TFileStream("E:\\temptest.bmp",fmCreate|fmOpenReadWrite|fmShareDenyNone); FileTemp1->Read(Buffer,BackCode);
FileTemp2->Write(Buffer,BackCode);
其中BackCode为文件大小。
想试试这样COPY一个文件。
实现生成一个新的temptest.bmp。执行后发现文件大小都一样。可是打开时候
说“文件格式无效”。怎么回事呢。
如何定义一个二进制流啊。
我用以下的代码:
Byte *Buffer;
TFileStream *FileTemp1=new TFileStream("E:\\temp.bmp",fmOpenReadWrite);
TFileStream *FileTemp2=new TFileStream("E:\\temptest.bmp",fmCreate|fmOpenReadWrite|fmShareDenyNone); FileTemp1->Read(Buffer,BackCode);
FileTemp2->Write(Buffer,BackCode);
其中BackCode为文件大小。
想试试这样COPY一个文件。
实现生成一个新的temptest.bmp。执行后发现文件大小都一样。可是打开时候
说“文件格式无效”。怎么回事呢。
可以这样:Byte *Buffer = new char[300000]; //新建一个300K大小的缓冲区,其值比文件大小大就行。
TFileStream *FileTemp1=new TFileStream("E:\\temp.bmp",fmOpenReadWrite);
TFileStream *FileTemp2=new TFileStream("E:\\temptest.bmp",fmCreate¦fmOpenReadWrite¦fmShareDenyNone); FileTemp1->Read(Buffer,BackCode);
FileTemp2->Write(Buffer,BackCode);
delete Buffer;