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