Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: 資訊學習

C++ 輸入無限長度的字串

Posted on 2007 年 2 月 15 日2021 年 3 月 12 日 By 日落 在〈C++ 輸入無限長度的字串〉中有 6 則留言

通常我們都是把字串存在一個陣列當中,但是我們卻不知到使用者到底會輸入多長的字串,只能宣告成一個非常大的陣列,這樣不但沒有解決問題而且還浪廢掉不少空間。

下面程式碼,是使用動態記憶體配置來即時更改陣列大小,當陣列不夠大時,變會將陣列長度增加 10。

//編譯器:Dev-C++ 4.9.9.2

#include <iostream>
#include <cstdlib>
#include <conio.h>

using namespace std;

int main()
{
char *ch,*tmp;
char in;
int count=10,num=0;
// count紀錄陣列大小 num紀錄用掉的空間
int a;
ch = new char [count];
in = getch();
while( in != 'r' )
{
if( num >= count ) // 檢查陣列是否過小
{
tmp = new char [count+10]; //建立比原本大10的陣列
for(a=0;a<count;a++) //複製舊的陣列內容
tmp[a] = ch[a];
delete [] ch; // 刪除舊的資料
ch = tmp; // 繼承新的資料
count+=10;
}
num++;
ch[num-1] = in;
cout<<ch[num-1];

in = getch();
}
ch[num] = '';
cout<<endl<<endl<<ch<<endl<<endl;
system("pause");
return 0;
}

程式執行時,會先讀入字串直到使用者按下 Enter,接下來會把使用者輸入的字串重新再印出來。另外程式是使用 getch() 來讀取字串輸入,所以不必擔心作業系統給的暫存不夠大。

Tags:程式設計, 資訊學習

跳頁選單

Posted on 2007 年 2 月 14 日2021 年 3 月 12 日 By 日落 在〈跳頁選單〉中有 2 則留言

剛剛把我部落格的「友站連結」改成跳頁選單的形式,版面看起來乾淨了許多。

跳頁選單是用 HTML 中的 select 標籤再加上 JavaScript 程式而成。首先我們要把要的連結組先做成 HTML select 選單:

<select>
<option selected="selected">:: 請選擇連結 ::
<option value="http://zeroplex.blogspot.com">Zeroplex部落格
<option value="http://www.flickr.com/photos/johnroyer/">我的相簿
</select>
改好了樣子就會長的像這樣:

這時外觀已經完成,只差沒有選擇以後會跳頁的動作。所以我們要在 select 後方插入一段 JavaScript 來完成跳頁的功能。

<select  onchange="if(this.selectedIndex && this.selectedIndex!=0){window.location=this.value;}this.selectedIndex=0;">
<option selected="selected">:: 請選擇連結 ::
<option value="http://aleiku.blogspot.com/">Aleiku
<option value="http://www.flickr.com/photos/johnroyer/">我的相簿
</select>

上面這段加入後,只要在選單有改變時,就會自動跳到你設定的網頁連結。

新增的這段程式中,this.value 表示這個標籤(this)裡面的值(option value),而 window.location 則是瀏覽器這個視窗(window)顯示的網址(location)。所以說當選單一旦有改變(OnChange),就會觸發這段 JavaScript 讓瀏覽器改變網址。

如果你希望瀏覽器是另外開一個視窗來開啟網頁連結,而不是就此離開你的網站,就把 window.location 改成 window.open()。

<select onchange="if(this.selectedIndex && this.selectedIndex!=0){window.open(this.value);}this.selectedIndex=0;">
<option selected="selected">:: 請選擇連結 ::
<option value="http://zeroplex.blogspot.com">Zeroplex部落格
<option value="http://www.flickr.com/photos/johnroyer/">我的相簿
</select>
Tags:網路架站, 資訊學習

BIOS ACPI

Posted on 2007 年 1 月 23 日2021 年 3 月 12 日 By 日落 在〈BIOS ACPI〉中尚無留言

ACPI = Advanced Configuration & Power Interface
http://support.ceci.org.tw/directory/worldwide/zh-tw/faq/6485.htm

關機以後不會自動斷電的罪魁禍首………

研究完在慢慢補齊 (這句話打的很心虛 XD)

Tags:硬體周邊, 資訊學習

隨身碟病毒 usbmons.dll kb2006a.exe 解毒

Posted on 2007 年 1 月 21 日2021 年 3 月 12 日 By 日落 在〈隨身碟病毒 usbmons.dll kb2006a.exe 解毒〉中有 4 則留言

不想看廢話請參考「隨身碟病毒解毒(usbmons.dll、kb2006a.exe)」。

這隻病毒把資訊處搞的雞飛狗跳,從一台電腦中毒,馬上就由隨身碟散播感染,不到一週就有另外五台電腦遭殃、一台電腦重灌,今天不睡就直接跟他拼了!

這個病毒會先在所有可移動式的磁碟機建立一個 autorun.inf 和一個 RECYCLER 的隱藏資料夾(資源回收桶圖示),當這個磁碟機被接上電腦,作業系統就會去讀取 autorun.inf 檔,內容如下:

[autorun]
open=.RECYCLERRECYCLERautorun.exe

shell1=Open
shell1Command=.RECYCLERRECYCLERautorun.exe
shell2=Browser
shell2Command=.RECYCLERRECYCLERautorun.exe

shellexecute=.RECYCLERRECYCLERautorun.exe

從上面可以看到這會讓系統自動執行 RECYCLERautorun.exe。執行後就會讓系統感染病毒。

這個病毒似乎是變種病毒,由 Kaspersky 掃毒後得到的病毒名稱是 Worm.Win32.Delf.aj,用這個名稱在網路上查詢會找到一個蠕蟲,特徵是開機時會自動開啟記事本,而且會產生wincfgs.exe、KB20060111.exe二個檔案。但是這次不管重新開機幾次也都沒有看到記事本自動開啟,硬碟任何地方也找不到這二個檔案。

後來想起蘇大哥似乎提到 usbmon.dll 有問題。後來發現這個檔案不是病毒,因為有沒有中毒,再接上隨身碟以後都會出現且 i386 資料夾中也有 usbmon.DL_ 的檔案。

執行病毒以後發現,除了 usbmon.dll 以外還有一個 usbmons.dll (多一個 “s”),丟給 Google 查詢後看到台大 PTT 上也有人用防毒軟體掃到這個檔案是木馬,跟這個關連的還有一個 kb2006a.exe。從 regedit 查詢發現與 USB 有關的如 USB Monitor 的登錄檔全部都有 usbmons.dll 的鍵值,所以開始懷疑是 usbmons.dll 連到 kb2006a.exe 在磁碟機上植入病毒。

將這二個檔案刪除,再把登錄檔修改了以後,重新開機以後接上隨身碟,沒出現 autorun.inf。

所以中毒的話,先刪除以下二個檔案:
C:windowssystem32usbmons.dll
C:windowssystem32kb2006a.exe
(無法刪除可使用 Unlocker 解鎖)

接著點 開始 -> 執行 -> “regedit”,按 Ctrl+F 搜尋關鍵字「usbmons.dll」。應該會出現在二種不同的機碼內。
USB Monitor :Driver = “usbmons.dll”  -> 改回正確的機碼 (刪掉 “s”)
OpenSaveMRU :a, b, c … = “usbmons.dll” -> 刪除字串值

接下來刪除隨身碟中的病毒檔案。在接上隨身碟之前,請先關閉系統自動執行的功能!接上隨身碟後開啟我的電腦,在隨身碟的圖示上點滑鼠右鍵 ,千萬不可以直接點二下滑鼠左鍵,選擇「開啟(O)」,不要點選英文的「Open」。進入隨身碟後,刪除 autorun.inf 以及 RECYCLER 資料夾即可。

Tags:Windows, 作業系統, 資訊學習

Windows XP 自動播放

Posted on 2007 年 1 月 15 日2021 年 3 月 12 日 By 日落 在〈Windows XP 自動播放〉中有 2 則留言

自動播放主要是由磁碟機或光碟機中的「AutoRun.inf」檔案控制,AutoRun.inf 裡面會設定自動執行的檔案位置,以下是 Windows XP 光碟中的 AutoRun.inf:

[AutoRun]
open=setup.exe
icon=setup.exe,0

第一行是辨識碼,讓作業系統確定這不只是一個同樣名稱的檔案;第二行就是要作業系統自動直型的檔案位置;第三行會設定視窗中光碟機的圖示。

當然不是每個設定檔張的都一模一樣,有些甚至會要求作業系統執行超過一個以上的檔案,這時設定檔案起來就會很複雜。

當一台電腦中毒時,病毒會先感染一些系統程式並常駐在你的電腦,當他偵測到有隨身碟接上電腦時,變會感染或是將病毒本身複製到隨身碟中隱藏,並加入一個 AutoRun.inf,並設定執行病毒檔。這樣當被感染的隨身碟接上另一台電腦時,系統讀到自動播放設定後,便會自動執行病毒。

Tags:Windows, 作業系統, 資訊學習

文章分頁

上一頁 1 ... 46 47 48 ... 52 下一頁

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.