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

高手帮小弟我看看这个有关问题是为什么呀C++Builder

2012-03-05 
高手帮我看看这个问题是为什么呀C++Builder我想在一个文件的尾部加入一些信息,再读出来//加入函数void__fa

高手帮我看看这个问题是为什么呀C++Builder
我想在一个文件的尾部加入一些信息,再读出来
//加入函数
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();//执行到此值为16
                try
                {
                                m_stream-> Seek(0,soFromEnd);
                                m_stream-> Write(&typelen,   sizeof(int));

                }
                __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);
                int   filetypelen;
                m_stream-> Seek(-sizeof(filetypelen),soFromEnd);//-sizeof(filetypelen)值不是-4,也是一大值
                m_stream-> Read(&filetypelen,sizeof(filetypelen));//读出来的是一个很大的值
                delete   m_stream;
                m_stream=NULL;

}

[解决办法]
试试这样:
m_stream-> Seek((-1)*sizeof(int),soFromEnd);
m_stream-> Read(&filetypelen,sizeof(int));

热点排行