Ncurses入门-(二)游标控制与窗口

目录
  • Ncurses入门-(二)游标控制与窗口

    • 游标控制
    • 窗口
      • 创建窗口

游标控制

在curses中我们使用move(y,x);来移动游标位置
例如以下程序:

#include <bits/stdc++.h>
#include <ncurses.h>int main(){initscr();int x,y;x = y = 10;move(y,x);printw("Hello World!");getch();endwin();return 0;
}

编译完成后将看到如下效果(编译别忘了加上-lncurses参数):

在效果图中,我们可以看到当前游标位置在Hello World!语句之后,这证明游标会跟随打印位置变化

当然,我们也可以使用getyx(win,y,x);来获取当前游标的位置,例如

int y,x;
getyx(stdscr,y,x);
printw("y:%d--x:%d",y,x);

请注意,我们将得到y,x而不是&y,&x

或者使用mvprintw(y,x,str,....);函数来直接在传入位置打印字符,这相当于 move(y,x);printw(str);

窗口

创建窗口

我们使用以下代码来创建一个窗口并且生成一个填充窗口的边框(box):

#include <bits/stdc++.h>
#include <ncurses.h>int main(){initscr();int height,width,start_y,start_x;height = width = 10;start_y = start_x = 5;WINDOW* win = newwin(height,width,start_y,start_x);refresh();box(win,0,0);wrefresh(win);getch();endwin();return 0;
}

我们将得到如下效果:

WINDOW* win = newwin(height,width,start_y,start_x);
请注意,我们的窗口是一个指针变量并需要用newwin()函数来创建窗口对象,函数里的参数都是不可少的
我们可以使用delwin(win);函数来销毁窗口

到这里我们就完成了本章的全部内容,关于窗口的操作内容笔者将在未来的某个时间撰写

Ncurses入门-(二)游标与窗口相关推荐

  1. IM开发者的零基础通信技术入门(二):通信交换技术的百年发展史(下)

    1.系列文章引言 1.1 适合谁来阅读? 本系列文章尽量使用最浅显易懂的文字.图片来组织内容,力求通信技术零基础的人群也能看懂.但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获.如果您大 ...

  2. SQL基础使用入门(二): DML语句和DCL语句

    SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...

  3. 文本分类入门(二)文本分类的方法

    文本分类入门(二)文本分类的方法 文本分类问题与其它分类问题没有本质上的区别,其方法可以归结为根据待分类数据的某些特征来进行匹配,当然完全的匹配是不太可能的,因此必须(根据某种评价标准)选择最优的匹配 ...

  4. 转 Python爬虫入门二之爬虫基础了解

    静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...

  5. java类作用域标识符_java入门 (二) 标识符、数据类型、类型转换、变量、常量、作用域...

    java入门(二) 标识符 数据类型 类型转换 变量.常量.作用域 本次笔记引用B站:狂神说,虽然早就会了,现在回头来敲下基础,加深印象 1.标识符: java所有的组成部分都需要名字.类名丶变量名丶 ...

  6. MySQL入门 (二) : SELECT 基础查询

    1 查询资料前的基本概念 1.1 表格.纪录与栏位 表格是资料库储存资料的基本元件,它是由一些栏位组合而成的,储存在表格中的每一笔纪录就拥有这些栏位的资料. 以储存城市资料的表格「city」来说,设计 ...

  7. 微信小程序入门二:底部导航tabBar

    小程序底部导航栏组件tabBar,可以参考下官方的API:tabBar 先看代码 //app.json {"pages":["pages/index/index" ...

  8. Opencv入门第一课打开窗口

    Opencv入门第一课打开窗口 一.如何打开图片(代码解释如下) Mat src = imread("D:/images/lena.jpg"); 解释:imageread图片读取 ...

  9. conan入门(二):conan 服务配置-密码管理及策略

    conan 服务配置 密码管理及策略配置 第一次以管理员身份(admin)使用默认密码(password)WEB登录入JFrog Artifactory后台时,系统就提示要求我修改密码,因为现有密码太 ...

最新文章

  1. java底层语言_JAVA语言思维的底层基础
  2. Python之lambda表达式和内置函数
  3. [翻译] FastReport Class Hierarchy (FastReport 组件类层次结构)
  4. 这个结构体排序开始没有想到!!
  5. 20170908校内训练
  6. python 股票指标库talib_TaLib在股票技术分析中的应用
  7. 冒泡排序 自带时间复杂度测试
  8. HDU 1007Quoit Design(最近点问题)
  9. [转]项目管理有感之一 沟通
  10. opencv SIFT角检测
  11. python大作业数独_python做一个数独小游戏
  12. 循环神经网络(RNN)和LSTM初学者指南 | 入门资料
  13. java 输入输出 函数对象构造
  14. linux caffe 生成lmdb,Caffe︱构建lmdb数据集与各类文件路径名设置细解
  15. 【错误】E45: ‘readonly‘ option is set (add to override)
  16. Jmeter插件安装perfmon(服务器资源监控工具)
  17. vim 去掉黄色阴影
  18. C版iPhone4也给国产旗舰手机带来机会
  19. 思考(七十四):一个游戏后端分布式事务架构介绍
  20. 解析光纤跳线的5大知识点,让安装使用更顺畅

热门文章

  1. rem实现九宫格布局
  2. 有关男人女人的经典言论
  3. elasticsearch之分词插件使用
  4. VM虚拟机网络配置,集群搭建
  5. 安卓模拟器BlueStacks安装使用教程
  6. 2018最新Koa2实现微信公众号前后端开发视频教程
  7. 压力传感器的信号采集处理
  8. 计算机房承重载荷,承重能力的简易计算
  9. 树莓派平台的旋转编码开关编程使用例程
  10. VR全景的制作与拍摄