我在大学里已经学习编程大约一年了,一路上我学到了一些东西,所以我决定制作我自己的“主机编辑器”程序,它基本上可以编辑你的 Windows 主机文件,让你插入、删除和管理里面的网址。:)
但是,我在尝试从文件中删除 URL 时遇到了问题。我实际上并没有删除它,因为我不知道该怎么做,但是我创建了一个新的空文本文件,然后复制了除了带有我希望删除的 URL 的行之外的所有行。听起来合理吗?
但是,如果不离开所谓的“空行” ,我就无法删除 URL 。至少不是我的编码方式......我已经尝试了一切,我真的需要你的帮助。
但是请在这里和我一起使用“noob友好”的语言,我不会理解任何复杂的术语:)
谢谢,这是我的完整代码:
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;
}