关于BCB5和BCB6中文件读写的问题!

时间:2022-09-04 19:58:27
在BCB5中,当前文件的读写位置可以向前移动一个位置,如下:

    ifstream fIn;   
    fIn.open("c:\\temp.txt");//     cTempDir
    fIn.seekg(1,ios_base::cur);

但是在BCB6中却不能,不知是怎么回事,请有文件读写经验的大侠给以解答。

7 个解决方案

#1


应该是一样的吧,会不会是打开后为空,或已经在尾部了?不明白,帮你up

#2


up

#3


应该是一样的

不过我经常用FileStream

#4


蹭分

#5


关注

#6


我读文件的办法:
 int iFromFileHandle,iFileLength,iBytesRead;
 char *pszBuffer;
    //读入文件
    iFromFileHandle=FileOpen(Edit1->Text,fmOpenRead); //打开文件
    iFileLength=FileSeek(iFromFileHandle,0,2);  //检查文件长度
    Len=iFileLength;  //设定LEN为文件长度
    if (Len!=0){  //判定文件长度是否为0
       pszBuffer=new char[Len+1];  //设置虚拟空间为文件长度+1
       FileSeek(iFromFileHandle,0,0);
       do{iBytesRead=FileRead(iFromFileHandle,pszBuffer,Len);
          }while(iBytesRead==Len);  //将文件写入虚拟空间
然后pszBuffer里面的内容就是文件的内容!

#7


http://hugsnow.myetang.com/use/56.htm
http://hugsnow.myetang.com/use/57.htm
http://hugsnow.myetang.com/use/58.htm
http://hugsnow.myetang.com/use/59.htm
http://hugsnow.myetang.com/use/60.htm
http://hugsnow.myetang.com/use/61.htm
......
慢慢看吧。

#1


应该是一样的吧,会不会是打开后为空,或已经在尾部了?不明白,帮你up

#2


up

#3


应该是一样的

不过我经常用FileStream

#4


蹭分

#5


关注

#6


我读文件的办法:
 int iFromFileHandle,iFileLength,iBytesRead;
 char *pszBuffer;
    //读入文件
    iFromFileHandle=FileOpen(Edit1->Text,fmOpenRead); //打开文件
    iFileLength=FileSeek(iFromFileHandle,0,2);  //检查文件长度
    Len=iFileLength;  //设定LEN为文件长度
    if (Len!=0){  //判定文件长度是否为0
       pszBuffer=new char[Len+1];  //设置虚拟空间为文件长度+1
       FileSeek(iFromFileHandle,0,0);
       do{iBytesRead=FileRead(iFromFileHandle,pszBuffer,Len);
          }while(iBytesRead==Len);  //将文件写入虚拟空间
然后pszBuffer里面的内容就是文件的内容!

#7


http://hugsnow.myetang.com/use/56.htm
http://hugsnow.myetang.com/use/57.htm
http://hugsnow.myetang.com/use/58.htm
http://hugsnow.myetang.com/use/59.htm
http://hugsnow.myetang.com/use/60.htm
http://hugsnow.myetang.com/use/61.htm
......
慢慢看吧。