ifstream 的使用?

wangsiyuanoo 2009-01-22 09:52:07

//想完成关键字的替换
//请帮我看看如何完善红颜色的内容。谢谢了.....
void CFindFileDlg::ReplaceKeyWord()
{
CString strKeyWord;
m_KeyWordEdit.GetWindowText(strKeyWord);
string strKey = strKeyWord.GetBuffer(0); //得到关键字

CString strReplaceWord;
m_ReplaceWordEdit.GetWindowText(strReplaceWord);
string strReplace = strReplaceWord.GetBuffer(0); //得到替换字

ifstream in;
string line = "";

setlocale(LC_ALL,"Chinese-simplified"); //VS2003中使用ifstream的时候不需要,仅仅是VS2005中

for (int j = 0; j < (int)m_KeyWord_FileList.size(); j++) //m_KeyWord_FileList是存放所有含指定关键字的文件完整路径
{
in.open(m_KeyWord_FileList[j].c_str(), fstream::in);
if(!in)
{
return;
}

while(getline(in, line))
{
if(strstr(line.c_str(), strKey.c_str()))
{
//这里应该怎么写,才能真正实现替换???????
}
else
{
string strInfo;
char strTemp[MAX_PATH] = {0};
sprintf(strTemp, "找不到:", strKey.c_str());
strInfo = strTemp;
::MessageBox(NULL, strInfo.c_str(), "提示", MB_ICONINFORMATION);
}
}
}

in.clear();
in.close();
}
...全文
197 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsiyuanoo 2009-01-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiaoyisnail 的回复:]
是整行替换还是部分替换?
[/Quote]
部分替换
就是我会先找到关键字的文件,然后再在含关键字的文件中将关键字替换成我需要的字
xiaoyisnail 2009-01-22
  • 打赏
  • 举报
回复
是整行替换还是部分替换?
nullah 2009-01-22
  • 打赏
  • 举报
回复
up
hhyttppd 2009-01-22
  • 打赏
  • 举报
回复
这个最好用内存映射文件来实现。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧