C++ Tab键实现自动补全输入功能
作者:网络转载 发布时间:[ 2014/3/27 10:07:49 ] 推荐标签:C++ Tab
//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
";
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键可以看见有自动补齐的功能。
输入_,有不同的单词供你选择,然后回车,可换其他测试。
不足之处,请多指教。
全部源码都在这里了。也不给资源链接啥的。

sales@spasvo.com