设为首页 加入收藏

TOP

C++Tab键实现自动补全输入功能(三)
2014-04-06 17:34:46 来源: 作者: 【 】 浏览:224
Tags:Tab 实现 自动 输入 功能

 

  char*pri_get_supply=get_attach(store_compare_[i],pri_temp_input);

  if(NULL!=pri_get_supply)

  {

  if(tab_count>i_catch_times)

  {

  i_catch_times++;

  continue;

  }

  //clear

  SetConsoleCursorPosition(hOut,curser_position);

  stringout_put_string="";

  write(out_put_string.c_str());

  SetConsoleCursorPosition(hOut,curser_position);

  write(store_compare_[i]);

  break;

  }

  }

  deletepri_temp_input;

  pri_temp_input=NULL;

  i_store_input_count-=1;

  return;

  }

  char*get_attach(constchar*stacks_,constchar*needle_)

  {

  char*pri_string_stack=(char*)stacks_;

  char*pri_string_needle=(char*)needle_;

  char*pri_string=strstr(pri_string_stack,pri_string_needle);

  returnpri_string;

  }

  /*---------------------------------------------------------*/

  voidconsole_start()

  {

  AllocConsole();

  DWORDdwConsoleMode;

  GetConsoleMode(NULL,&dwConsoleMode);

  dwConsoleMode^=ENABLE_LINE_INPUT;

  dwConsoleMode^=ENABLE_ECHO_INPUT;

  //wConsoleMode^=ENABLE_AUTO_POSITION;

  SetConsoleMode(NULL,dwConsoleMode);

  constchar*message="welcome!teststarted.atuhorbyzhangpengju\n";

  write(message);

  }

  voidconsole_end()

  {

  FreeConsole();

  }

  voidwrite(constchar*message,intlength)

  {

  if(length<=0)

  {return;

  }

  WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),message,length,NULL,NULL);

  }

  voidwrite(constchar*message)

  {

  intlength=strlen(message);

  WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),message,length,NULL,NULL);

  }

  voidread(char*buffer,size_tsize)

  {

  DWORDnNumberOfCharsToRead;

  BOOLresult=ReadConsoleA(GetStdHandle(STD_INPUT_HANDLE),buffer,size,&nNumberOfCharsToRead,NULL);

  buffer[nNumberOfCharsToRead-2]=0;

  }

  2.在vs2012下测试结果是可以的。就不给贴图了。

  运行程序,测试输入,t,然后切换tab键就可以看见有自动补齐的功能。

  输入_,有不同的单词供你选择,然后回车,可换其他测试。

  不足之处,请多指教。

      

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇线性表链式存储C++实现 下一篇LRU缓存算法 - C++版

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)