C高階程式設計筆記一

2021-05-25 05:17:39 字數 2378 閱讀 4569

有關螢幕操作的函式

void clrscr(void);

該函式將清除視窗中的文字,並將游標移到當前視窗的左上角,即(1, 1)處。

void clreol(void);

該函式將清除當前視窗中從游標位置開始到本行結尾的所有字元,但不改變游標原來的

位置。void delline(void);

該函式將刪除一行字元,該行是游標所在行。

void gotoxy(int x, int y);

該函式很有用,用來定位游標在當前視窗中的位置。這裡

x,y是指游標要定位處的坐

標(相對於視窗而言)。當

x, y超出了視窗的大小時,該函式就不起作用了。

int movetext(int x1, int y1, int x2, int y2, int x3, int y3);

該函式將把螢幕上左上角為(xl,y1),右下角為(x2,y2)的矩形內文字拷貝到左上角為(x3,

y3)的乙個新矩形區內。這裡

x,y座標是以整個螢幕為視窗座標系,即螢幕左上角為

(1,1)。

該函式與開設的視窗無關,且原矩形區文字不變。

int gettext(int xl, int yl, int x2, int y2, void *buffer);

該函式將把左上角為(xl,y1),右下角為(x2,y2)的螢幕矩形區內的文字存到由指標

buffer

指向的乙個記憶體緩衝區內,當操作成功,返回

1;否則,返回

0。因乙個在螢幕上顯示的字元需佔顯示儲存器

vram的兩個位元組,即第乙個位元組是該字

符的 ascii碼,第二個位元組為屬性位元組,即表示其顯示的前景、背景色及是否閃爍,所以

buffer指向的記憶體緩衝區的位元組總數的計算為:

位元組總數=矩形內行數×每行列數×2

其中:矩形內行數

=y2-y1+l,每行列數

=x2-xl+1(每行列數是指矩形內每行的列數)。矩形內

文字字元在緩衝區內存放的次序是從左到右,從上到下,每個字元佔連續兩個位元組並依次存

放。 int puttext(int x1, int y1, int x2, int y2, void *buffer);

該函式則是將

gettext()函式存入記憶體

buffer中的文字內容拷貝到螢幕上指定的位置。

注意:

(1) gettext()函式和

puttext()函式中的座標是對整個螢幕而言的,即是螢幕的絕對座標,而

不是相對視窗的座標;

(2) movetext()函式是拷貝而不是移動視窗區域內容,即使用該函式後,原位置區域的文字

內容仍然存在。

例程 3-2:下面的程式首先定義了乙個字元陣列,下標為

64,表示用來存四行八列的文字。

由於沒有用

window函式設定視窗,因而用預設值,即全螢幕為乙個視窗,程式開始設定

80列×25行文字顯示方式

(c80),背景色為藍色,前景色為紅色,經

clrscr函式清屏後,設定

的背景色才使螢幕背景變藍。gotoxy(10,10)使游標移到第

10行

10列,然後在

(10,10)開

始位置顯示

l:load,接著在下面三行相同的列位置顯示另外三條資訊,

13行

10列顯示的

e:exit後面帶有回車換行符,為的是將游標移到下一行開始處,好顯示

press any key to

continue。當按任一鍵後,

gettext函式將

(10,l0,18,13)矩形區的內容存到

ch快取區內。

ch即上述的四行八列資訊,接著設定乙個視窗,並縱向寫上

1,2,3,4,然後用

movetext(),

將此視窗內容複製到另一區域,由於此區域包括背景色和顯示的字元,所以被複製到另一區

域的內容也是相同的背景色和文字。當按任一鍵後,又出現提示資訊,再按鍵,則存在

ch緩衝區內的文字由

puttext()又複製到開設的視窗內了,注意上述的函式

movetext(),gettext(),

puttext()均與開設的視窗內座標無關,而是以整個螢幕為參考係的。

/*-------例程

3-2-------*/

#include

main()

getch();

clrscr();

puttext(23,10,31,13,ch);

getch();

/* 將

ch快取區所存文字在屏上顯示 */

C 高階程式設計筆記(一)

c 與.net c 本身是一種語言 net framework是乙個平台即乙個環境。只是c 編譯器專門用於.net,所以c 總是使用.net執行。net framework 的核心是執行執行環境 公共語言執行庫clr net執行庫 在clr下執行的 稱為託管 mannaged code clr對於源...

《C 高階程式設計》讀書筆記(一)

1,string型別的特殊性 string型別是乙個引用型別,因此當把義字串變數賦予給另乙個字串是,會得到對記憶體中同乙個字串的兩個引用。但是,string與引用型別的常見行為有一些區別。例如,字串是不可改變的。改變其中乙個字串,就會建立乙個全新的string物件,而另乙個字串不發生任何變化。str...

javascript高階程式設計筆記(一)

第五章引用型別 js建立陣列的方式兩種 1var colors new array 裡面可以定義長度或者實際內容。2 var color js中沒有 塊概念for var i 0 i 10 i alert 結果為10 js函式中var宣告的函式會自動新增到最近的環境,比如呼叫乙個函式,裡面的var變...