私は大学で約1年間プログラミングを学んでおり、その過程でいくつかのことを学んだので、基本的にWindowsホストファイルを編集し、挿入、削除、および削除できる独自の「ホストエディター」プログラムを作成することにしました。内部の URL を管理します。:)
しかし、ファイルから 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;
}