首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎样删除文本中内容相同的行?解决方案

2012-01-26 
怎样删除文本中内容相同的行?a.txt文本中内容:111111222333333333444444输出为:111222333444也就是重复的

怎样删除文本中内容相同的行?
a.txt文本中内容:
111
111
222
333
333
333
444
444
输出为:
111
222
333
444
也就是重复的行只输出一次,请问怎样实现,谢谢.

[解决办法]
代码在这里了,写得风各不是很好,功能倒是实现了^_^


#include <stdio.h>
#include <string.h>

#define MAX 1000

int main()
{
FILE *in, *out;
char str[MAX];
int i=0, j=0, k=0, m=0;

char **file=new char*[MAX];
in=fopen( "a.txt ", "rb ");
fgets(str, MAX, in);
while(!feof(in))
{
file[i] = new char[strlen(str)+1];
strcpy(file[i], str);
fgets(str, MAX, in);
i++;
}
fclose(in);
i--;
for(j=0; j <i; j++)
{
if(strcmpi(file[j], file[j+1])==0)
{
for(k=j; k <i; k++)
{
file[k]=file[k+1];
}
i--;
j--;
}
}
out=fopen( "b.txt ", "wb ");
for(m=0;m <=i; m++)
fputs(file[m], out);
fclose(out);
delete [] file;
return 0;
}

热点排行