首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

急问:TFileStream 的有关问题

2012-03-01 
急问:TFileStream 的问题我想在一个文件末尾添加一些信息,再读出来程序如下:void__fastcallTForm1::Button

急问:TFileStream 的问题
我想在一个文件   末尾添加一些信息,再读出来程序如下:
void   __fastcall   TForm1::Button3Click(TObject   *Sender)//添加
{

                AnsiString   sourcepath=Edit1-> Text;
                TFileStream   *m_stream;
                m_stream=new   TFileStream(sourcepath,fmOpenWrite|fmShareExclusive);
                AnsiString   type=ComboBox1-> Text;
                int   typelen=type.Length();
                try
                {
                                m_stream-> Seek(0,soFromEnd);
                                m_stream-> Write(&type,   typelen);
                                m_stream-> Write(&typelen,   sizeof(typelen));
                }
                __finally
                {
                                delete   m_stream;
                                m_stream=NULL;
                }
}
void   __fastcall   TForm1::Button1Click(TObject   *Sender)//读出
{
                  AnsiString   filepath=Edit1-> Text;
                TFileStream   *m_stream;
                m_stream=new   TFileStream(filepath,fmOpenRead|fmShareExclusive);
                char   filetype[50];
                int   filetypelen;
                m_stream-> Seek(-sizeof(filetypelen),soFromEnd);
                m_stream-> Read(&filetypelen,sizeof(filetypelen));//能正确读出
                m_stream-> Seek(-(filetypelen+sizeof(filetypelen)),soFromEnd);
                m_stream-> Read(&filetype,filetypelen);//出错,读出错误
                filetype[filetypelen]= '\0 ';
                AnsiString   str= " ";
                for(int   i=0;i <strlen(filetype);i++)
                                str+=filetype[i];
                Edit2-> Text=str;
                delete   m_stream;
                m_stream=NULL;
}

------解决方案--------------------


m_stream-> Write(type.c_str(), typelen);

热点排行