hur.cn - 华软网

 热门搜索

MFC中文件操作的相关!

  作者:未知    来源:网络    更新时间:2011/5/19
1.txt这个文本里有两行数据:xiaoxiao xiao和xiaoli xiaol,下面是一部分代码,用m_New替换了pass,为什么在1.txt文本里没有重新输出呢,是fp.WriteString(strBuf)有问题么?

C++">


         CString pass,user,m_New;
CClientApp *app=(CClientApp*)AfxGetApp();
pass="xiaol";
user="xiaoli";
         m_New="xin";
         user+=" ";
         user+=pass;

CStdioFile fp("1.txt",CFile::modeNoTruncate|CFile::modeReadWrite);

         CString strBuf,strTemp;
while(fp.ReadString(strBuf))//循环读取每行数据
            {
       if(strcmp(user,strBuf)==0)
       { 
int m=strBuf.Find(" ");
strTemp=strBuf.Left(m);
strTemp+=" ";
strTemp+=m_New;

strBuf.Replace(strBuf,strTemp);
fp.WriteString(strBuf);
MessageBox("密码修改成功");


       }
           }
fp.Close();
---华软 网友回答---
你要把txt文件里面的内容全部读出来,替换字符串
然后再全部写入

你那样写,光标在文件中定位的位置已经改变了,不是你希望替换的位置
---华软网友回复---
一次性都读出来,得到数据以后再修改,最后写回数据保存在文件中
---华软网友回复---
恩 要读出来写的      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。