文件操作 我想编辑一个文件,找到其中的一个字符串将其替换,比如将“192.168.88.7”替换为“192.168.88.142”(根据输入,所以长度不固定),我试过fseek,fwrite好像都不行,因为我的目标和源字符串可能长度不相等,请教各位该如何做?最好能给段简单源码!谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CStdioFileCStdioFile::ReadStringCStdioFile::WriteString很简单呀 CStdioFile file1; CString temp,ss; file1.Open("4.txt",CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate); while(file1.ReadString(temp)) { temp.Replace("192.168.88.142","192.168.88.6"); ss+=temp+"\n"; } file1.Close(); file1.Open("4.txt",CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate); file1.WriteString(ss); file1.Close(); ^_^ 每个帖子我都看了,没有一个答案是对的,可能我没说清楚,我需要用fopen之类的函数,而不是用MFC或者STL,另外我的“192.168.88.7"是不顾定位置的。急,所以多开了贴,只要有人回答出来,所有帖子分数都可以给你,如果需要,还可以另加分。分数本来就是用来交流的,我不会小气的:) :)谢谢各位,思想我大概知道,但关键是代码,想偷懒!:)目前想了个偷懒的办法,创建一个不可见的多行CEdit,然后把内容读入,再每行查找关键字,找到后用replacesel替换,实在是太懒了,所以想出这么个馊主意。不过考虑到也有和我一样懒的人,所以还是写出来,不怕丢脸!:)帖子再留2天,看看是不是还有好的答案,到时候一起给分! CStringArray strarray; CStdioFile file; if( !file.Open("c:\\1.txt", CFile::modeRead) ) { AfxMessageBox("can not open file!"); return; } CString strLine; while(file.ReadString(strLine)) { if(strLine.Find("192.168.88.7") != -1) strLine.Replace("192.168.88.7", "192.168.88.142"); strarray.Add(strLine); } file.Close(); if( !file.Open("c:\\1.txt", CFile::modeCreate|CFile::modeWrite) ) { AfxMessageBox("can not open file!"); return; } for(i=0; i<strarray.GetSize(); i++) { str = ""; str = strarray[i] + "\n"; file.WriteString(str); } file.Close(); 动态链接库的最大内存空间是多大? 各位大虾,正常情况下一个月写2万行代码是偏多还是偏少呢 LRESULT 定义为长整型,为什么可以返回true ,false 如何自定义MessageBox选项 坐标设置问题,基础的!先谢谢进来解答问题的兄弟姐妹! 如何制作文件上传组件 很简单的,这有两句我不明? 请教各位大侠一个excel文件创建的问题 求助!怎样在dos下做出类似于下面的表格 关于发展问题 vc的傻瓜问题 文件操作
CStdioFile::ReadString
CStdioFile::WriteString
很简单呀
CString temp,ss;
file1.Open("4.txt",CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate);
while(file1.ReadString(temp))
{
temp.Replace("192.168.88.142","192.168.88.6");
ss+=temp+"\n";
}
file1.Close();
file1.Open("4.txt",CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate);
file1.WriteString(ss);
file1.Close(); ^_^
CStdioFile file;
if( !file.Open("c:\\1.txt", CFile::modeRead) )
{
AfxMessageBox("can not open file!");
return;
}
CString strLine;
while(file.ReadString(strLine))
{
if(strLine.Find("192.168.88.7") != -1)
strLine.Replace("192.168.88.7", "192.168.88.142"); strarray.Add(strLine);
}
file.Close();
if( !file.Open("c:\\1.txt", CFile::modeCreate|CFile::modeWrite) )
{
AfxMessageBox("can not open file!");
return;
}
for(i=0; i<strarray.GetSize(); i++)
{
str = "";
str = strarray[i] + "\n";
file.WriteString(str);
}
file.Close();