C語言如何在控制台視窗設定游標到指定位置

2021-08-18 18:57:20 字數 1465 閱讀 2088

在用c語言寫控制台的程式時,說到控制游標,我們通常就是回車換行或者空格之類的進行移動游標控制,但是這類操作只能是將游標移動到當前游標後面的位置,而且效率極低

假設我們想要把游標移動到當前游標以前某個位置進行修改,我們通常的就是 system("cls")清屏,然後再重新列印到螢幕,這種操作方式雖然可以達到修改當前游標以前位置的效果,但是這種方法也是效率極低

其實在c中有專門的函式來實現 我們控制游標在螢幕指定位置的操作,在msdn中我們可以找到這個函式

setconsolecursorposition函式有兩個引數,前乙個引數為 標準輸出的 控制代碼

在這裡可能我們不知道這個標準輸出的控制代碼從哪來,在msdn中也是有專門的函式來獲取標準輸出,標準輸入,標準錯誤輸出的控制代碼

而後乙個引數coord其實就是乙個想包含x,y的乙個類似於座標的結構體

通過這個函式我們就可以把游標設定到座標為(x,y)的地方

所以這裡就有必要提到在控制台中x,y構成的座標

在這裡的xy座標系不同於我們數學中見到的直角座標系,它是以左上角為座標原點(0,0),x軸向右延伸,y軸向下延伸,以字元為單位

假如我們在一些專案中需要經常進行游標位置的設定,我們也可以自己打包寫乙個函式來達到游標控制的效果

static

void

setpos(

intx

,inty)

;//游標要設定的位置x,y

handle

houtput = getstdhandle(

std_output_handle

);//使用getstdhandle(std_output_handle)來獲取標準輸出的控制代碼

setconsolecursorposition(houtput, point);

//設定游標位置

}這樣我們就得到了乙個

setpos

函式,我們只需要傳入(x,y)就可以設定游標到指定位置

控制台介面控制(八) 游標設定

游標的作用在於提醒使用者,你的輸入將會在這個位置出現。目前對於游標的操作只有乙個,移動游標,改變輸出的位置。有時候游標在那裡一閃一閃的是不行的,比如做了乙個選單,或者乙個封面。可以在控制台使用的函式中有乙個可以用來隱藏游標,除此之外,它在游標顯示的時候還能設定游標的厚度。效果 相關資訊 設定游標顯示...

純C語言實現設定視窗大小 控制台視窗

純c語言實現設定視窗大小 如果想要修改螢幕緩衝區可以 coord size handle hout getstdhandle std output handle 如果只需要修改視窗大小可以 small rect rc setconsolewindowinfo hout true rc 注意 視窗大小...

c 隱藏控制台視窗

region 隱藏視窗 dllimport user32.dll entrypoint showwindow setlasterror true private static extern bool showwindow intptr hwnd,uint ncmdshow dllimport use...