我一直在大學學習編程大約一年,我學到了一些東西,所以我決定讓我自己的「主編輯」程序基本上編輯你的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