我正在尝试创建一个函数来检测char数组中是否有相同的连续行。
例如,如果char数组包含:
您好
您好
您好
您好
您好
然后数组将更改为
您好
您好
基本上,我想检测连续的,相同的行,并删除它们,因此只剩下其中一行。如果一行与之前的行相同,但它们不是连续的,那就没关系。
实际上,整条线不必相同,但至少前79或MAXCHARS必须相同。
此外,我不想通过写入中间文件来做到这一点。理想情况下,我会将数据存储在数组中。
我在想这样的事情:
int deleteRepeats(char *a)
{
int i;
for (i=0; i<=MAXCHARS; i++) {
if (a[i] != '\n')
/* copy into new array /*
}
}
但是我有些迷茫。我现在不想打印阵列,因为我将在以后的程序中再次更改它;我还是需要用一个。
非常感谢任何帮助/解决方案。谢谢。
答案 0 :(得分:2)
一些指导: