续写文件

旧时模样 提交于 2020-01-25 17:33:52

1.获取以前文件的大小

u_long GetFileSize(string strFile)

{

  long retFileLen; //文件长度

     FILE* stream;   //文件指针

     if((stream = fopen(strFile.c_str(), "rb")) == NULL)

         return 0;

     fseek(stream, 0, SEEK_END);

     retFileLen = ftell(stream);

     fclose(stream);

     return retFileLen;

}

 

2.打开文件续写文件

char pBuf[BUF_SIZE];

stream = fopen(stream.c_str(), "ab+");                //打开文件

ASSERT(stream);

 

int nErrCode = fseek(stream, ulPos, SEEK_SET);   //移动文件指针,ulPos为以前文件的大小

ASSERT(nErrCode == 0);

 

nErrCode = fwrite(pBuf, 1, ulLen, stream);            //写文件,uLen为本次写进内容的大小

ASSERT(nErrCode == uLen);

 

fflush(stream);                                                   //清除文件缓冲区

fclose(stream);                                                   //关闭文件

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!