linux-curses-窗口移动光标

 

#include <ncursesw/ncurses.h> 
#include <locale.h> 

int main(void){ 

//init_pair(short index,short foreground,short background)初始化颜色索引 

//attron(COLOR_PAIR(索引号)|属性) 

//newwin建立窗口,derwin建立窗口的子窗口(相对于父窗口相对位置),subwin建立窗口的子窗口(相对于根窗口绝对位置) 
    int x,y;

    setlocale(LC_ALL,""); 

    WINDOW *win1,*win2,*subwin; 

    initscr();//初始化 

    win1=newwin(15,50,1,1);//新窗口(行,列,begin_y,begin_x) 

    box(win1,ACS_VLINE,ACS_HLINE); 

    mvwprintw(win1,1,1,"WIN1"); 

    mvwprintw(win1,2,1,"www.deepfuturesoft.info/myblog/"); 



    win2=newwin(10,40,10,30);//新窗口(行,列,begin_y,begin_x) 

    box(win2,ACS_VLINE,ACS_HLINE); 
    wmove(win2,1,1);//移动某窗口的光标
    printw("WIN2");
    wmove(win2,2,1);//移动某窗口的光标。(窗口,y,x)
    printw("www.deepfuturesoft.info"); 



    subwin=derwin(win2,3,20,4,5); //子窗口 

    box(subwin,ACS_VLINE,ACS_HLINE); 
    mvwprintw(subwin,1,5,"按任意键退出");//(窗口,y,x,字符串) 
       


    refresh();//刷新整个大窗口stdscr 

    wrefresh(win1); 

    wrefresh(win2); 
    
    move(5,60);//在stdscr移动光标
    printw("hello.........");

    touchwin(win1);//转换当前窗口为win1 

    wrefresh(win1); 

    getch();//win1显示完,等待按键显示win2 


    touchwin(win2);//转换当前窗口为win2  

    //使用doupdate,可以事先定义要刷新的部分,然后刷新 

    wnoutrefresh(win2);   

    wnoutrefresh(subwin); 

    doupdate(); 
    getyx(subwin,y,x);//获得当前逻辑光标位置
    mvwprintw(subwin,y+1,x,"................");//在“按任意键退出"下一行输出"..............."

    getch();//等待按键 



    delwin(win1); 

    delwin(subwin); 

    delwin(win2); 

    endwin();//结束 

    return 0;    

} 
 



 

 
Linux curses 总结二(对屏幕的操作) initsrc 和endsrc curses的字符类型 curses函数库对屏幕的操作函数 chtype字符属性 一个小栗子 initsrc 和endsrcWINDOW *initsrc(void) WINDOW*类型指针是一个指向stdsrc数据结构的指针 int endsrc(void) 成功返回OK 关闭失败返回ERRcurses的字符类型chtype 是curs 阅读详情

相关推荐

用curses输出HelloWorld(curses笔记一)

用curses输出HelloWorld   Linux/Unix编程往往都是在终端下进行的,但即使是基础文本的编程依然能够尽可能地实现很多图形控制,像vi可以实现在终端中全屏的编辑器就是基于curses的一个具体实现。   curses的名字起源于"cursor optimization",即光标优化。它最早由有美国伯克利大学的Bill Joy和Ken Arnold编写的,用来处理一个游戏rogu...

小腿跑乱刀的博客 4274

linux-Linux终端图形库curses-C-窗口与子窗口

编译: mysea@mysea-desktop:~/test$ gcc -lncursesw -std=c99 -o cursestest cursestest.c mysea@mysea-desktop:~/test$ ./cursestest 代码: #include #include int main(void){ //in...

深未来技术 600

TerminalGL:终端的图形库

TerminalGL 使用终端窗口中的字符作为像素从头开始制作图形库的实验。 用法 从下载TerminalGL.jar并将其放在温暖干燥的地方。 将所有mod放在与上述jar文件位于同一目录中的名为mods的文件夹中。 如果要将它们放置在其他位置,请在jar文件所在的目录中创建一个名为settings.txt的文本文件,并写一个以mod-directory:开头的行,然后是所需mod文件夹的完整路径。 导航到jar文件的目录,并使用命令java -jar TerminalGL.jar从命令提示符运行程序。 改装 在项目的引用库中包含TerminalGL.jar 。 创建一个主类,然后根据需要命名。 这将是您mod的起点。 给它加上注释@ModMarker ,它包含两个元素: name – mod的全名。 version –模组的版本号。 (可选的) 另外,为您的主类提供以下四

linux下 X11桌面 一个C语言调用Xlib创建窗口的小列子

一个与linux下使用Xlib进行窗口编程的小例子,

xxoo 1万+

解决Android 14兼容性问题:NDK中arm64-v8a的正确配置方法

本文详细解析Android 14系统架构变化对NDK开发的影响,重点介绍arm64-v8a架构的正确配置方法。针对常见的兼容性问题如so库缺失、ABI不匹配等提供解决方案,并分享性能优化与自动化测试实践,助力开发者高效适配Android 14设备。

algae的博客 1222

《生化危机9:安魂曲》D加密免BIOS破解方案详解

数字版权管理(DRM)技术通过加密手段保护软件版权,Denuvo(D加密)作为主流方案常应用于3A游戏。其原理是通过实时验证机制阻止未授权访问,但可能影响性能表现。本文以《生化危机9》为例,解析一种免BIOS修改的D加密绕过方案,该方案通过授权启动器模拟正版验证流程,保持系统零侵入性。实测表明,该方法在GTX 1060至RTX 3070等多硬件平台均能稳定运行,支持MOD扩展且兼容Reshade画质增强,为玩家提供开箱即用的绿色版体验。

weixin_33898233的博客 925

chatgpt: linux 下用纯c 编写ui

这个示例代码展示了如何使用GTK在Linux上创建一个简单的窗口。如果需要更底层的控制或不希望使用GTK,也可以使用Xlib来直接操作X Window系统,但这需要更多的代码和更复杂的处理。GTK是一个更高级的库,提供了丰富的控件和功能,而Xlib则是一个更底层的库,提供了直接操作X Window系统的功能。2. **回调函数**: `on_window_destroy` 在窗口关闭时调用,退出GTK主循环。1. **包含头文件**: `gtk/gtk.h` 包含所有GTK函数和数据结构的定义。

m0_59802969的博客 805

LTspice导入德州仪器SPICE模型的实用指南与常见问题解析

本文详细介绍了如何在LTspice中导入德州仪器的SPICE模型,包括模型文件获取、路径管理、导入步骤及常见问题解析。通过实用指南帮助工程师精确仿真电路性能,提升设计效率,重点涵盖了第三方模型的导入教程和最佳实践。

kk1234的博客 309

linux X11窗口开发

检索窗口信息工具 xpropxprop执行后会出现一个光标,这个光标可以获取到窗口信息。

sevendemage的博客 1906

SageMath下载与安装

SageMath的下载与安装

旺旺的碎冰冰~的博客 7497

Comsol超声空化气泡仿真:从基础理论到工业应用实践

本文详细介绍了Comsol超声空化气泡仿真的基础理论及工业应用实践。通过解析超声空化现象、Comsol模型搭建流程及求解器优化技巧,帮助工程师掌握气泡仿真技术,提升超声波清洗和乳液制备等工业应用的效率与质量。

weixin_27966471的博客 253

chatgpt赋能python:Python移动光标位置:一个全面指南

光标可以被理解为屏幕上可见的闪烁图标。屏幕上光标的位置与文本输入的位置有关。在Python中,也可以形象地把光标看作是程序在文本流上的一个位置指示器。在移动光标的过程中,程序可以精确地控制光标所在的位置。这篇文章旨在为Python开发人员提供一些关于移动光标位置的知识。我们已经涵盖了Python中移动光标位置的几种方法,以及在文本编辑器和终端中移动光标的一些技巧。了解如何移动光标位置将有助于您更轻松地在Python中实现所需的功能。本文由chatgpt生成,文章没有在chatgpt。

GitHub质检员 817

【突变检验方法一】MATLAB实现Pettitt突变检验

MATLAB实现Pettitt突变检验及贝叶斯突变检测等

WW、forever的博客 1万+

了解实际程序是如何借助第三方库函数完成代码设计

目录了解linux系统Linux 系统中终端程序最常用的光标库的主要函数功能几个基本函数名称及功能体验即将绝迹的远古时代的 BBS (一个用键盘光标控制的终端程序) 了解linux系统 Linux 系统中终端程序最常用的光标库的主要函数功能 Linux 系统中终端程序最常用的光标库的主要函数功能 curses函数库能够优化光标的移动并最小化需要对屏幕进行的刷新,从而也减少了必须向字符终端发送的字符数目 几个基本函数名称及功能 窗口优化屏幕刷新: int wnoutrefresh(WINDOW *window

xing__Q的博客 374

OpenCV实现物体尺寸的测量

物体尺寸测量的思路是找一个确定尺寸的物体作为参照物,根据已知的计算未知物体尺寸。如下图所示,绿色的板子尺寸为220*300(单位:毫米),通过程序计算白色纸片的长度。

qq_53545309的博客 9157

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

how to use the curses library in unix?

In linux, you can use the ncurses library to use the terminal as a text buffer: move the cursor around, and write text. It can also draw windows and other hi-level widgets. check here check her...

weixin_38169562的博客 91

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

curses函数库简介及使用

curses函数库主要用来实现对屏幕和光标的操作,它的功能定位处于简单文本行程序和完全图形化界面之间,在目前图形化界面已经蓬勃发展的现在可能显得有些过时,但是其中很多实现思想和操作仍然值得学习和借鉴,并且curses目前仍然是linux图形化编程的选择之一

C_eeking的博客 2442

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Linux下curses光标控制

----------------------------------------------     * curses库中光标分为物理光标和逻辑光标.物理光标只有一个,而逻辑光标属于curses窗口,每个窗口只有一个物理光标但却可能有多个逻辑光标     * 物理光标位置会在处理输入函数之后发生改变,但可以通过WINDOW结构的_leave标志重新定位它     * 如果设置了_

zer1123的博客 2486

linux下curses的用法

转载: https://www.cnblogs.com/dandingyy/archive/2012/08/23/2651644.html 1、术语概念 curses工作在屏幕,窗口和子窗口之上。屏幕是设备全部可用显示面积(对终端是该窗口内所有可用字符位置),窗口与具体例程有关。如基本的stdscr窗口等。 curses使用两个数据结构映射终端屏幕,stdscr和curscr。stdscr...

qq_30534935的博客 959

Linux下curses的安装和使用

本文讲解了curses的一些主要函数的功能及安装。

古先生的博客 3836

Linux下curses函数库的详细介绍

Linux下curses函数库的详细介绍curses库介绍安装curses库函数介绍初始化和重置函数管理屏幕的函数输出到屏幕从屏幕读取清除屏幕移动光标字符属性管理键盘的函数键盘模式键盘输入管理窗口的函数窗口通用窗口函数窗口移动和更新屏幕窗口优化屏幕刷新子窗口窗口转储keypad模式彩色显示获取位置获取光标位置 curses库介绍   curses是一个在Linux/Unix下广泛应用的图形函数库,...

weixin_43855330的博客 6225

linux伪光标移动,Windows与Linux下伪光标的显示实现

本文基于C语言实现。Windows和Linux下伪光标移动的实现这是鄙人的第一篇博客,写的不是很好,所以希望各位亲们浏览时不要太苛刻,如果有什么错误的话也希望各位能指出错误。 好的,现在进入正题,为什么我会突然写这篇关于Windows与Linux下伪光标移动的实现呢,这主要源于这几次做课程设计需要用到伪光标,所以学习了下伪光标移动的实现,希望能帮助到遇到伪光标移动的实现困难的小伙伴。首先,为什么说...

weixin_33252145的博客 203

Linux curses 总结三(窗口)

WINDOWS结构 创建和销毁窗口 通用函数 一个小栗子 WINDOWS结构 一个curses程序不仅仅只有一个窗口,stdscr就是curses程序的默认窗口,stdscr就是特殊的WINDOWS结构 创建和销毁窗口 函数名 返回值 作用 newwin WINDOW * 创建窗口 delwin int 销毁窗口 通用函数 前面已经学习了对strscr的操作函数

a752602882的专栏 1257

Linux下curses函数库

1.安装   ubuntu11.10下默认没有安装curses函数库,(CentOS下默认已经安装,可以直接在usr/include下查看是否有该头文件来确定)使用   >sudo apt-get install ncurses-dev   安装curses库,这样在curses函数库的头文件和库文件就被分别安装在/usr/include/和/usr/lib/下,在编译程序时,直接使...

weixin_30242907的博客 981

linux curses图形库中光标移动程序实例

//此程序可实现移动光标功能 #include #include #include #define StartX 1 #define StartY 1 void initial(); main() {    int x = StartX;    int y = StartY;    int ch;    initial();    box(stdscr,'|'

Welcome to Niki_Cao's Small World 948
上一篇: LINUYX-C-curses-pad滚屏
下一篇: C-#line和#error
deepfuture
博客等级 码龄17年 210粉丝 1287原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值