我一直在大学学习编程大约一年,我学到了一些东西,所以我决定让我自己的“主编辑”程序基本上编辑你的Windows主机文件,让你插入,删除和管理里面的网址。 :)如何从C++文本文件中删除空行?
但是,我试图从文件中删除一个URL时遇到了问题。因为我不知道如何去做,所以我并没有真正删除它,但我创建了一个新的空文本文件,然后复制除了我想要删除的URL之外的所有行。听起来合理吗?
然而,似乎我不能删除该URL而不会离开所谓的“空行”。至少与我编码的方式不同......我尝试了一切,我真的需要你的帮助。
但是,请在这里使用“小白友好”的语言和我在一起,我不明白任何复杂的术语:)
谢谢,这是我的全码:
http://joggingbenefits.net/hcode.txt
和这里只是我认为与我混淆的代码部分(删除URL函数):
void del(int lin) // line index
{
FILE* fp=fopen("C:\\Windows\\System32\\drivers\\etc\\hosts","r+");
FILE* fp1=fopen("C:\\Windows\\System32\\drivers\\etc\\hosts1","w");
char str[200];
int cnt=0;
while(! feof(fp))
{
fgets(str,200,fp);
if(str[0]=='#')
{
fputs(str,fp1);
}
else
{
if(cnt==lin)
{ // problem. FLAG?!
cnt++;
}
else
{
cnt++;
fputs(str,fp1);
}
}
}
fclose(fp);
fclose(fp1);
rename("C:\\Windows\\System32\\drivers\\etc\\hosts","C:\\Windows\\System32\\drivers\\etc\\deleteme");
rename("C:\\Windows\\System32\\drivers\\etc\\hosts1","C:\\Windows\\System32\\drivers\\etc\\hosts");
remove("C:\\Windows\\System32\\drivers\\etc\\deleteme");
cout << endl << "LINE DELETED!" << endl;
}
你应该真的尝试在这里发布相关的代码。为此,尝试拿出一个最小的例子来展示你不想要的行为并在这里发布。这也可以帮助你更好地理解它。除此之外,如果你真的想用C++编程,我建议你开始使用C++流来处理文件I/O。 – 2012-08-03 10:56:03
我确实尝试过,但编辑是诚实可怕的。它说,点击这里插入代码,然后插入我的代码,并将其格式化得非常糟糕,将一些代码放在正常文本中,其他位放入代码中。它还说,按TAB和'$',但是当我按TAB时,它会跳转到页面底部的标签texbox ...我能说什么 – Zannix 2012-08-03 11:13:59
您只需粘贴代码,突出显示它,然后单击*格式为代码*。 – 2012-08-03 11:16:02