程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話之完成掌握台光標隨便挪動的實例代碼

C說話之完成掌握台光標隨便挪動的實例代碼

編輯:關於C++

C說話之完成掌握台光標隨便挪動的實例代碼。本站提示廣大學習愛好者:(C說話之完成掌握台光標隨便挪動的實例代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話之完成掌握台光標隨便挪動的實例代碼正文


道理引入windows.h,起首是要取得輸出的器械,然後經由過程斷定:

1、偏向鍵:履行高低閣下的挪動功效

2 、回車鍵:履行換行的功效。

3、通俗鍵:輸出功效。

起點就是要獲得到屏幕上的坐標,當按下了偏向鍵今後,坐標值+1,或許減一,從而完成了光標的自在挪動。

//C說話完成掌握台中光標隨便挪動
#include <stdio.h>
#include <windows.h>
#include <conio.h>
 
HANDLE hout;
//取得輸出
char getInput()
{
  int ch; //輸出字符串
   
  COORD coord; //屏幕上的坐標
  CONSOLE_SCREEN_BUFFER_INFO csbi; //掌握台屏幕緩沖區信息
 
  coord.X=10;
  coord.Y=10;
 
  ch=getch();
 
  //0x0d表現回車,0XE0表現高低閣下等鍵的鍵碼
  while(ch==0xE0||ch==0x0d)
  {
    GetConsoleScreenBufferInfo(hout,&csbi);
    coord.X=csbi.dwCursorPosition.X; //獲得坐標X的值
    coord.Y=csbi.dwCursorPosition.Y; //獲得坐標Y的值
    //假如是回車
    if(ch==0x0d)
    {
      coord.X=0;
      coord.Y++;
      SetConsoleCursorPosition(hout,coord);
      break;
    }
    ch=getch();
    //上
    if(ch==0x48)
    {
      if(coord.Y!=0)coord.Y--;
    }
    //下
    else if(ch==0x50)
    {
      coord.Y++;
    }
    //左
    else if(ch==0x4b)
    {
      if(coord.X!=0){coord.X--;}
    }
    //右
    else if(ch==0x4d)
    {
      if(coord.X!=79)coord.X++;
      else
      {
        coord.X=0;
        coord.Y++;
      }
    }
    SetConsoleCursorPosition(hout,coord);
    ch=getch();
  }
  return ch;
  }
int main()
{
  char ch;
  hout=GetStdHandle(STD_OUTPUT_HANDLE);
  //從鍵盤獲得輸出,假如是偏向鍵則履行偏向功效,假如是回車鍵則換行,假如是字符則輸入
  while(1)
  {
    ch=getInput();
    printf("%c",ch);
  } 
  getchar(); 
}

以上這篇C說話之完成掌握台光標隨便挪動的實例代碼就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved