fseek有三個參數(shù),第1個是文件句柄,通過打開文件時得到;第2個就是移動的字節(jié)數(shù),這個數(shù)可以是正的,就是向后(文件尾部)移動,也可以是負(fù)的,即向前(文件頭部)移動;第3個參數(shù)指明從哪里移動,如果寫SEEK_SET就是從文件頭部移動多少字節(jié),如果寫SEEK_END則是從尾部開始移動,SEEK_CUR則是從當(dāng)前位置移動。
創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、平和網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為平和等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
比如
要將文件指針移動到文件開始的第24字節(jié)位置:fseek(fp,24,SEEK_SET);
移動到文件尾部向前50字節(jié):fseek(fp,-50,SEEK_SET);
在當(dāng)前位置移動8個字節(jié)(跳過8個字節(jié)數(shù)據(jù)):fseek(fp,8,SEEK_CUR);
在當(dāng)前位置向前移動16個字節(jié)(準(zhǔn)備重新讀取數(shù)據(jù)):fseek(fp,-16,SEEK_CUR);
可以通過設(shè)置WASD的程序控制玩家移動。
如果需要平滑的按鍵輸入,或者同時按下多個按鍵,就不能用getch()了,需要使用另一個WindowsAPI函數(shù):GetAsyncKeyState()。該函數(shù)原型如下:
SHORTGetAsyncKeyState(intvKey
//virtual-keycode);
vKey是要檢測的按鍵的虛擬鍵碼,常用的如VK_UP、VK_DOWN等,分別表示方向鍵的上、下等。需要注意:對于26個字母的鍵碼,可以直接寫'A'、'B'??,而不要寫VK_A、VK_B。數(shù)字鍵也是,請直接寫'0'、'1'??。全部的256種虛擬鍵碼,請參考MSDN中的Virtual-KeyCodes。
返回的SHORT值,如果最高位為1,表示該鍵被按下;否則表示該鍵彈起。該函數(shù)的最低位還可以用來檢測開關(guān)鍵(比如大小寫鎖定鍵)的狀態(tài)。作為按鍵處理,還可以使用GetKeyState、GetKeyboardState等函數(shù),詳細(xì)請參考MSDN手冊中的KeyboardInputFunctions部分。
首先對比一下 左邊與右邊 那里有不同 同時 程序不同對應(yīng)的輸出結(jié)構(gòu)有哪些不同。。
P2口 連接8個LED 低電平驅(qū)動使其發(fā)光。
P2=0xfe //上電 P2.0連接的 LED發(fā)光。 其余的熄滅。
對比一下程序
void main() //主函數(shù)
{
P2=0xfe; //P2初始化
while(1) //死循環(huán)
{
num=P2; //這里 與左邊不同 把P2的狀態(tài)給 NUM 也就是0XFE num=0xfe
P2=_crol_(num,1); //P2等于num 循環(huán)左移 P2=0xef 這時應(yīng)該是連接的P2.7的LED發(fā)光
delay(0);//延遲
}
}
左邊 代碼 NUM 每次大循環(huán) 都賦值 num=0xfe 是固定的 所以不管你以后怎么移動 P2口的輸出都是不變得 只移動了一次。。