摘要: Style Description
PBS_SMOOTH //平滑
PBS_VERTICAL //垂直
響應消息
PBM_DELTAPOS //一個進度條由一個指定的增量當前位置和重繪欄,以反映新的位置。
wParam=(的WPARAM)nIncrement
lParam = 0;
返回原來的位置。
閱讀全文
posted @
2011-11-30 20:42 Yu_ 閱讀(824) |
評論 (0) |
編輯 收藏
和C語言不同,C++對文件的操作有自己的方法。
C++對文件的操作主要是通過兩個類(ofstream---向文件中寫入數據。ifstream----從文件中讀取數據),通過指定類中的變量取值來達到對文件的操作。
ofstream類的構造函數(有好幾個,這個用的最多)ofstream::ofstream
ofstream( const char* szName, int nMode = ios::out, int nProt = filebuf::openprot )
szName:指定將要打開的文件名
nMode:指定打開的方式,有以下幾種取值
--------------------------------------------------------------------------------
ios::app 數據始終添加在文件的末尾,文件的指針不移動。比如輸入的是123,在文件的末尾出現的是321(先將1插入文件尾,接下來插入2,2在1的前面....)
ios::ate 數據添加在文件的末尾,文件指針會移動,比如輸入123,在文件的末尾就出現123.
ios::in 如果指定了此模式,則文件的內容不會被截斷
ios::out 打開文件,用于輸出,可以用于所有的ofstream對象
ios::trunc 如果文件已經存在,那么文件的內容將被清空
ios::nocreate 打開文件的時候不創建文件,意思是如果文件不存在,則函數失敗
ios::noreplace 不覆蓋文件,意思是如果文件存在,則函數調用失敗。
ios::binary 以二進制方式打開文件,默認是以文本方式打開
--------------------------------------------------------------------------------
nProt:指定文件保護規格說明,有以下幾種取值
filebuf::sh_compat 兼容共享模式filebuf::openprot和此種方式一樣
filebuf::sh_none 獨占模式,不共享
filebuf::sh_read 共享,只讀方式
filebuf::sh_write 共享,可以對文件執行寫入操作
從文件中讀取數據是通過ifstream的對象進行的,其構造函數如下
ifstream::ifstream
ifstream( const char* szName, int nMode = ios::in, int nProt = filebuf::openprot );各參數的意義同上
對于C++的文件操作,需要先構建ofstream和ifstream類的對象,然后通過該對象的成員函數進行文件的讀寫操作(例如write和read函數)
例子:
#include
#include
#include
using namespace std;
int main()
{
//打開文件,如果文件不存在則創建文件,然后向文件內寫入數據
ofstream outFile("2.txt",ios::app);
//將數據寫入文件
outFile.write("c++對文件的操作方法",strlen("c++對文件的操作方法"));
outFile.close();
//在文件的末尾寫入數據,先將文件的指針移到末尾
outFile.open("2.txt",ios::app);
outFile.seekp(0,ios::end);
outFile.write(",重復寫一次:c++對文件的操作方法",strlen(",重復寫一次:c++對文件的操作方法"));
outFile.close();
//讀取文件的內容,并將其顯示在屏幕上
ifstream inFile;
inFile.open("2.txt",ios::in);
char buffer[100];
inFile.read(buffer,99);
buffer[99]='';
for(int i=0;i<100;i++)
cout<<buffer[i];
inFile.close();
return 0;
}
posted @
2011-11-30 20:40 Yu_ 閱讀(441) |
評論 (0) |
編輯 收藏
摘要: 1、指令: jmp 段地址:偏移地址 ->修改段地址CS和偏移地址 IP
指令: jmp 某一合法寄存器 ->僅修改IP的內容,CS不變、
2、WINDOWS DOS 下的Debug指令
R->查看、改變寄存器內容 “-r” 查看 “ -r ax ” 修改
D->查看內存的內容 ①、“d 段地址:偏移地址 ” 從1000:0處開始顯示內存,共128個單元
②、“d 段地址:偏移地址 結尾偏移地址”
E->改寫內存的內容 “e 起始地址 數據 數據 數據 ...” 聯系改寫一系列數據
U->把內存單元翻譯成匯編指令 "u 起始地址"
T->執行一條匯編指令
A->命令以匯編指令的形式在內存中寫入機器碼
閱讀全文
posted @
2011-11-30 20:35 Yu_ 閱讀(494) |
評論 (0) |
編輯 收藏
摘要: (1)、成員函數
成員函數有一個非成員函數不具有的屬性——它的類itsclass 指向成員函數的指針必須與向其賦值的函數類型匹配不是兩個而是三個方面都要匹配:
1 參數的類型和個數2 返回類型3 它所屬的類類型
例如類screen:short Screen::*ps_Screen = &Screen::_height;
數據成員指針在被用來訪問數據成員之前必須先被綁定到一個對象或指針上
// 所有指向類成員的指針都可以用0 賦值
int (Screen::*pmf1)() = 0;
int (Screen::*pmf2)() = &Screen::height;//或者可以這樣寫:int Screen::*pmf2 = &Screen::height;
注意:靜態類成員指針是該類的全局對象和函數,引用的是普通指針
(2)作用域
1.全局域、類域、局部域的區別
閱讀全文
posted @
2011-11-30 20:33 Yu_ 閱讀(753) |
評論 (0) |
編輯 收藏
摘要: 一、類型轉換
1、強制類型轉換::類型不同,而且不屬于基本數據類型(int double...)時,經常需要強制類型轉換
①、顯示強制類型轉換
TYPE b = (TYPE) a;
C++中強制類型轉換函數有4個:
const_cast(用于去除const屬性),
static_cast(用于基本類型的強制轉換),
dynamic_cast(用于多態類型之間的類型轉換),
閱讀全文
posted @
2011-11-30 20:32 Yu_ 閱讀(403) |
評論 (0) |
編輯 收藏
9、寫出float x 與“零值”比較的if語句。
if(x>0.000001&&x<-0.000001)
注意的是在win32中,sizeof(float)=4。
10、 Internet采用哪種網絡協議?該協議的主要層次結構?
tcp/ip 應用層/傳輸層/網絡層/數據鏈路層/物理層
注意:OSI模型 有7層。應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。(其實不會考的那么簡單)
11、Internet物理地址和IP地址轉換采用什么協議?
ARP (Address Resolution Protocol)(地址解析協議)MAC--->IP
問題擴展:
DNS 域名解析協議。
什么是ARP?ARP協議是用來由IP地址獲取MAC地址的。通過發送ARP幀。
局域網:向網絡上發送一個廣播詢問某IP地址,網絡上其他的IP地址不響應,只有該IP地址的主機會響應并發出數據幀。同時他們都更新ARP表。
不同局域網:發送主機通過ARP協議獲得的將不是目的主機的真實MAC地址,而是一臺可以通往局域網外的
路由器的某個端口的MAC地址,于是此后發送主機發往目的主機的所有幀,都將發往該路由器,通過它向外發送。這種情況也稱為
ARP代理(ARP Proxy)。
什么是ARP攻擊?ARP攻擊就是通過偽造IP地址和MAC地址實現
ARP欺騙,能夠在網絡中產生大量的ARP通信量使
網絡阻塞,攻擊者只要持續不斷的發出偽造的ARP響應包就能更改目標主機ARP緩存中的IP-MAC條目,造成網絡中斷或中間人攻擊。
舉一個例子:ARP攻擊主要是存在于局域網網絡中,局域網中若有一個人感染ARP
木馬,則感染該ARP木馬的系統將會試圖通過“ARP欺騙”手段截獲所在網絡內其它
計算機的通信信息,并因此造成網內其它計算機的通信故障。
12、IP地址的編碼分為哪倆部分?
IP地址由兩部分組成,網絡號和主機號。不過是要和“子網掩碼”按位與上之后才能區分哪些是網絡位哪些是主機位。
什么是子網掩碼?
用來指明一個
IP地址的哪些位標識的是主機所在的子網以及哪些位標識的是主機的位掩碼。
13、對于一個頻繁使用的短小函數,在C語言中應用什么實現,在C++中應用什么實現?
c用宏定義,c++用inline
解析:
#define MAX(a,b) ((a)>(b)?(a):(b))
(1)、使用是切勿調用 MAX(a++,b); 這樣會可能會使a增值兩次。
(2)、沒用參數檢查。
內聯函數:
(1)、在類聲明定義的是一個內聯函數、
posted @
2011-10-13 21:47 Yu_ 閱讀(472) |
評論 (0) |
編輯 收藏
摘要: 歸并排序(Merge sort)是建立在歸并操作上的一種有效的排序算法,該算法是采用分治法。
申請空間,使其大小為兩個已經排序序列之和,該空間用來存放合并后的序列
設定兩個指針,最初位置分別為兩個已經排序序列的起始位置
比較兩個指針所指向的元素,選擇相對小的元素放入到合并空間,并移動指針到下一位置
重復步驟3直到某一指針達到序列尾
閱讀全文
posted @
2011-10-13 19:34 Yu_ 閱讀(275) |
評論 (0) |
編輯 收藏