读完文件后,怎样在保证原内容的基础上,在行后加内容?越简单越好,谢谢。
fpFile = fopen(fName, "r+t");
if(fpFile==NULL) { continue;}
else{
while (!feof(fpFile))
{
  fgets(chrLine,1024,fpFile);
  Analysis(chrLine,chrISDN,chrDate);
  //操作
  ……
  //回写结果
  ?
  }                  
}
读的文件内容格式如:
13800000000|20041206
13800000001|20041207
读完后要求在原文件后加如“succeed”“failure”等;然后把文件名改成别的。

解决方案 »

  1.   

    fpFile = fopen(fName, "r+t");
    if(fpFile==NULL) { continue;}
    else{
    FILE *fpOut=fopen("result.txt","wt");
    while (!feof(fpFile))
    {
      fgets(chrLine,1024,fpFile);
      Analysis(chrLine,chrISDN,chrDate);
      char*p=chrLine;
      while(*p && *p!=10 && *p!=13) p++;
      *p=0;
      strcat(chrLine,"SUCCESS");
      if(fpOut) fprintf(fpOut,"%s\n",chrLine);
      }                  
    if(fpOut) fclose(fpOut);
    }
    想偷别人密码啊,做坏事可不好哦
      

  2.   

    是每行加还是只在文件最后加?如果是文件最后,SeekToEnd(),写你的东西就可以了如果是每行加,而且文件不大的话,建议把改变后的文件流保存在内存流中,然后一次性从头写
      

  3.   

    再open一个新的file,然后往回写啊,呵呵
      

  4.   

    是每行都加,文件应该不小,所以一次性从头写似乎比较危险吧?to: 3m2u(SameToYou
      不是偷人家密码哦,是要从文件读出ISDN号码,然后做一些操作,最后把操作结果回写:)
      

  5.   

    同意 vcleaner(我没做大哥已经很久了.......)  的看法,新开一个临时文件,修改后更名覆盖即可
      

  6.   

    你可以这样向文件末尾添加:
    CFile arfile,arwrfile;
    CFileException fe1,fe2;
    char str[4096];
    int i,FileLenght; if(!arfile.Open("E:/1.txt",CFile::modeRead,&fe1))
    {
    fe1.ReportError();
    return;
    }

    if(!arwrfile.Open("E://2.txt",CFile::modeWrite | CFile::modeCreate,&fe2))
    {
    fe2.ReportError();
    return;
    }
    CArchive ar(&arfile,CArchive::load);
    CArchive arwr(&arwrfile,CArchive::store); i = 0;
    do
    {
    ar>>str[i];
    i++; 
    }
    while(!ar.IsBufferEmpty());
    FileLenght = i;
    ar.Flush();
    //读完毕,关闭文件流
    ar.Close();

    FileLenght = FileLenght + ..//你要加入的文件长度;
    char * str1 = new char[FileLenght]; ...//处理你要加入的字符串到str1中
            ...
    for( i=0;i<FileLenght ;i++)
    arwr<<str1[i];

    filestr = str1;
    arwr.Flush();
    arwr.Close(); arfile.Close();
    arwrfile.Close();
            delete []str1;
      

  7.   

    有个最简单的办法啊,fopen打开文件加一个参数就是在文后追加
    我忘了什么参数...