如将内容如下的文件:
q1 :1+1=?
q2 :2+3=?动态改为如下的文件:
q1 :1+1=?
a1 :2
q2 :2+3=?就是将字符串“a1 :2”添加或者说插入到源文件的第某行(行数动态获取)希望高手不吝赐教!! 

解决方案 »

  1.   

    CFile
    不是有
    Seek等系列函数吗
    先判断换行符号"\n"或者"\r\n"
      

  2.   


    CString temp("");
    CFile   f;   
    f.Open(filePath,CFile::modeReadWrite);   
    int size =f.GetLength();   
    char *buf=new  char[size+1];   
    ZeroMemory(buf,size+1);   
    f.Read(buf,size);   
    buf[size] =0;   
    temp=buf; 
    delete   buf; 
    f.Close();
    index=temp.Find("xxx",0);//找到文件某标记

        CString num="a1:2";
    CFile   myFile(filePath,CFile::modeReadWrite|CFile::shareDenyNone);    
    myFile.SeekToBegin();   
    myFile.Seek(index,CFile::begin);   //找到位置
    char hexdata[4];
    memset(hexdata,0,sizeof(hexdata));
    strncpy(hexdata,(LPCSTR)num,3);
    myFile.Write(hexdata,3);  //写入内容 
    myFile.Close();