linux下c++使用ncurses库的一个简单实例

来源:互联网 发布:vscode怎么退出全屏 编辑:程序博客网 时间:2024/06/07 10:02

技术含量不是很高,主要是为了表达下在linux下c++如何使用ncurses库编程
#include <ncurses.h>
#include <string>
#include <vector>
//#define DEBUG
#ifdef DEBUG
#include <iostream>
#include <cstdio>
#endif
int main(void)
{
int x,y;
std::vector<std::string> msg;
msg.push_back("Hello Ncurses!");
msg.push_back("Please Enter Anykey to exit. . .");
std::vector<std::string>::iterator pa=msg.begin();
#ifndef DEBUG
initscr();
curs_set(0);
noecho();
getmaxyx(stdscr,y,x);
//refresh();
//mvprintw(y/2,x/2-pa->size()/2,pa->c_str());
for(int i=0;pa!=msg.end();++pa,++i)
mvprintw(y/2+i,x/2-pa->size()/2,pa->c_str());
//refresh();
getch();
echo();
curs_set(1);
endwin();
#else
printf("%s\n",(++pa)->c_str());
std::cout<<*pa<<std::endl;
#endif
return 0;
}
编译的时候
g++ -o ncurses ncurses.cpp -lncurses
我这里由于刚开始使用时出了点问题,所以使用了一些简单地方法验证程序的正确性,所以定义了DEBUG,把它注释掉就ok了

转载自:http://blog.163.com/lixiangqiu_9202/blog/static/5357503720126121466106/

原创粉丝点击