2 jujiawu1024 jujiawu1024 于 2016.03.16 19:13 提问

一个有关MFC文本文件数据按行去重复的问题

VC++6.0 读取文本文件中多行数据,然后去掉重复的行,提取数据到新的文件的方法是什么?

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.16 19:16
已采纳

读取到set/vector,然后去重复
http://blog.csdn.net/zengraoli/article/details/39081707

baijiaheizhiganmao
baijiaheizhiganmao   2016.03.16 21:53

按行读取没文件,将读取到的每一行保存到一个set中,因为set中的元素必须不一样,因此你不必再做去重操作,读取完毕之后你写回到文件中即可。http://www.cplusplus.com/reference/set/set/insert/

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VC和C++按行读取文本文件
1.MFC   CString FileName="d:\\3.txt",Files="d:\\32.txt",fileString;   CStdioFile   f,g;      if(f.Open(FileName,   CFile::modeRead)   ==   TRUE)   //FileName为打开文件名      {     g.Open(Files,   CFile::m
去除文本中重复的数据行
一、去掉相邻重复的数据行 复制代码 代码如下: $cat data1.txt | uniq 输出: beijing wuhan beijing wuhan 二、去掉所有重复的数据行 复制代码 代码如下: $cat data1.txt | sort | uniq 注: 只有uniq命令的话,只是把相邻的重复的
MFC逐行读取txt文件内容
代码如下: CString strFileName = _T("D:\\abc.txt"); if (!PathFileExists(strFileName)) { return FALSE; } CStdioFile file; if (!file.Open(strFileName, CFile::modeRead)) { return FALSE; } std::v
5G的文本TXT文件,按行存放URL,去重
== 问题 -- 问题:5G的文本TXT文件,按行存放URL,设计去重         -- 条件:1G内存的机器 -- 布隆过滤器,做过爬虫的程序员,会立马想到; 这里如果按常规方式,该如何入手呢 先说思想解决,不说实际代码实现; 1. 内存1G,所以大文件首先要分割;如分割为20个文件,那么每个可以做到接近250M左右 2. 拿前面的3个文件做案例:
批处理如何清除文本文档里面的重复行
有文档A.TXT 内容里面有很多重复行. 形如: aaaaaaaaaa bbbbbbbb cccccccccc ddddddddd aaaaaaaaaa ddddddddd eeeeeeee 显然 aaaaaaaaaa 与 ddddddddd 这2行出现了几次重复~ 需要处理下,处理后只保留一个,其他多余的删除掉 结果放在B.txt里面结果如下:
如何高效地做到大文本去除重复行
如果只是去重,用sort的效率很低(指的是上千万行的量级),因为做了额外操作,因为你只是要去重,而不是排序 用awk数组来实现很简单很快,利用了awk数组是hashtable实现的特性。内存占用和去重后(注意是去重后)的行数(注意是行数,而不是你的文本内容)成正比。 cat 一堆文件 | awk '{ if (!seen[$0]++) { print $0; } }'
MFC逐行读取txt文件中的数据
小测试程序:               1、逐行读取txt文件中的数据,到vector中               2、得到相应的文件路径  源码: // TODO: 在此添加控件通知处理程序代码 //OnOK(); TCHAR path[255]; //桌面目录 SHGetSpecialFolderPath(0,path,CSIDL_DESKTOPDIRECTO
Linux下文本文件合并和去除重复操作
Linux下处理文本的能力还是很强大的。 本文主要涉及到的命令为cat  uniq sort。 一 命令简单介绍 cat:将文本文件读出来 (concatenate files and print on the standard output) 文件去重合并的前提条件是先取出文件的内容。 uniq: 用来处理重复的行。(report or omit repeated lines)
C#代码片段 导入一个txt文本,快速过滤重复行
导入一个txt文本,快速过滤重复行 HashSet strlist = new HashSet(); if(openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK){ // string filename = openFi
LINUX下去除文件中重复的行
比如你/etc/passwd文件中有重复的行,执行如下指令清除: cat /etc/passwd | sort -u > /tmp/passwd