文件操作 我想编辑一个文件,找到其中的一个字符串将其替换,比如将“192.168.88.7”替换为“192.168.88.142”(根据输入,所以长度不固定),我试过fseek,fwrite好像都不行,因为我的目标和源字符串可能长度不相等,请教各位该如何做?最好能给段简单源码!谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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();呵呵,楼主开了几个贴子啊,我都顶,分都给我吧 ^_^ 若是“192.168.88.7”在一行中的位置不固定的话,以上代码就无效了,比如:xvafdfd192.168.88.7aklf,ldfdkc, //此行含有该字符串adfee3334dfva192.168.88.7dfkadfjasdfkadf //此行含有该字符串dfasff192.168kafjaldfjalkdfad@@ //此行只含部分字符串dka192.168.88.88dafkalsdfa$$$$$ //... 每个帖子我都看了,没有一个答案是对的,可能我没说清楚,我需要用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(); 求以二维数组的形式访问DIB数据的方法.100分 怎样添加MFC的静态链接库生成可以脱离VC运行的exe文件? __beginthread创建的线程如何强制终止? 还是gdi+双缓冲问题,可实现双缓冲,但缓冲后输出的图像总是比原图模糊(附代码)请教高手! 一个VC6.0的设置问题 socket创建出错问题 如何在ListCtrl中插入三列按钮? 新手!!问一个非常愚蠢的问题,希望大家不要歧视我 Help!声明一个string,然后利用cin>>输入字符串,如何让输入的字符串中包含空格?(我是编程菜鸟) 对你是小问题!:) 文件操作 求教:关于光栅操作的问题(急!!!)
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();呵呵,楼主开了几个贴子啊,我都顶,分都给我吧 ^_^
adfee3334dfva192.168.88.7dfkadfjasdfkadf //此行含有该字符串
dfasff192.168kafjaldfjalkdfad@@ //此行只含部分字符串
dka192.168.88.88dafkalsdfa$$$$$ //...
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();