社区
C++ 语言
帖子详情
文本文档中替换字符串
First_Soul
2012-04-26 09:52:37
求一段代码
替换当前目录下指定名称的 TXT 文档中 特定字符串
如:将 当前目录下的名为 C1.TXT 中所有 “123ABCD123” 替换成 “456EFG456”
由于文本量比较大 最好要要比较效率高的
...全文
130
9
打赏
收藏
文本文档中替换字符串
求一段代码 替换当前目录下指定名称的 TXT 文档中 特定字符串 如:将 当前目录下的名为 C1.TXT 中所有 “123ABCD123” 替换成 “456EFG456” 由于文本量比较大 最好要要比较效率高的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
evencoming
2012-04-26
打赏
举报
回复
[code=C/C++]
#include<cstdlib>
#include<string>
#include<cstring>
#include<fstream>
using namespace std;
void myreplace(const string& filename,const string& tofind,const string& toreplace)
{
ifstream fin(filename.c_str(),ios_base::binary);
string str(1024*1024*2,0);
fin.read(&str[0],2*1024*1024);
fin.close();
ofstream fout(filename.c_str(),ios_base::binary);
string::size_type beg=0,pos,find_size=tofind.size(),replace_size=toreplace.size();
while((pos=str.find(tofind,beg))!=string::npos)
{
fout.write(&str[beg],pos-beg);
fout.write(&toreplace[0],replace_size);
beg=pos+find_size;
}
fout.write(&str[beg],strlen(str.c_str())-beg);
fout.close();
}
int main()
{
myreplace("abca.txt","123ABCD123","456EFG456");
}
[/CODE]
qq120848369
2012-04-26
打赏
举报
回复
opendir, readdir , open, fstat, mmap, strstr, 替换字符串(涉及到后半段内存向前移动1字节,就你的例子来说,使用memmove)。
luciferisnotsatan
2012-04-26
打赏
举报
回复
直接整个文件读进内存,CString有Replace方法,然后写回去。
这个数据量,没什么要考虑效率的吧。除非每分钟都要这么运行下。
dongchong510
2012-04-26
打赏
举报
回复
先读进来然后直接整个扫描进行字符串匹配然后替换掉就好啦
匹配的话可以用KMP算法呀
evencoming
2012-04-26
打赏
举报
回复
这么小,c++毫无压力.
First_Soul
2012-04-26
打赏
举报
回复
没多大,其实就是 1M左右一个的,有很多个,大概100个文本不到吧。
luciferisnotsatan
2012-04-26
打赏
举报
回复
文本量有多大?没到GB单位,写个脚本就够用了。
等赵老师来贴脚本。
First_Soul
2012-04-26
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
ctrl + r 或者 H
替换 123ABCD123 456EFG456
[/Quote]
汗。。。
我是要做成工具啊。
要效率高点的代码实现
批量更换目录下文本中的 相应字符
CTRL+H 就不用说了。谢谢你啊。
evencoming
2012-04-26
打赏
举报
回复
ctrl + r 或者 H
替换 123ABCD123 456EFG456
在
文本
中
查找
替换
字符串
程序
在txt
文本
中
,查找和
替换
指定的
字符串
,并另存文件.
c++编写
文本
文件
字符串
替换
程序
因工作需要,本人用c++ 编写
替换
文本
文件
中
指定
字符串
的小程序,供大家使用: 语法 rep2 test.txt srcstr,desstr srcstr=是将要被
替换
的
字符串
desstr=是
替换
成的
字符串
速度很快,但要求文件不可大于5000行。
命令行下
替换
文本
文件
中
字符串
的小程序
命令行下
替换
文本
文件
中
字符串
的小程序 使用方法: txtreplace filename searchstring replacestring
查找
替换
多个
文本
文件
中
的
文本
字符串
查找
替换
多个
文本
文件
中
的
文本
字符串
VC6.0
超级
字符串
批量
替换
工具 2.0 破解版
超级
字符串
批量
替换
工具 2.0 破解版
文档
内容批量
替换
工具
文档
内容批量
替换
工具: 1、支持
文本
/超
文本
文件,office
文档
:Word文件(doc)、Excel文件(xls)、PowerPoint幻灯片文件(ppt)的批量内容
替换
; 2、...
C++ 语言
64,676
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章