社区
C语言
帖子详情
求助:文本模式下,怎样实现把光标移动到上一行?
hqx8211
2006-06-16 03:53:55
ucLinux下做一个shell,使用read 从键盘读取字符。先获取终端窗口大小,当读取的字符超过 ws_col (窗口一行能显示的最多字符数)时程序输出一个 '\n' 。 读取到 backspace 时输出退格->空格->再退格。
问题:输出'\n'换行后,backspace无法删除上一行的字符了,请问怎么把光标移动到上一行?(文本形式,没有图形化库的,所有只要用到curses的都不行)
...全文
778
5
打赏
收藏
求助:文本模式下,怎样实现把光标移动到上一行?
ucLinux下做一个shell,使用read 从键盘读取字符。先获取终端窗口大小,当读取的字符超过 ws_col (窗口一行能显示的最多字符数)时程序输出一个 '\n' 。 读取到 backspace 时输出退格->空格->再退格。 问题:输出'\n'换行后,backspace无法删除上一行的字符了,请问怎么把光标移动到上一行?(文本形式,没有图形化库的,所有只要用到curses的都不行)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hqx8211
2006-06-19
打赏
举报
回复
楼上的兄弟,多谢先。
但是我想你没看清楚我的要求,操作系统要求是ucLinux,是没有conio.h的。这个应该是dos和Windows下的吧。
jixingzhong
2006-06-19
打赏
举报
回复
说明一下,
上面的 列坐标x, 就是 光标所在的列 ,一般也可以说是 横坐标 ...
y 是纵坐标,注意原点是屏幕的左上角 ...
jixingzhong
2006-06-19
打赏
举报
回复
#include<conio.h>
#include<stdio.h>
int main()
{
int x=0, y=0;
x += printf("123");
y += printf("\n");
x=0; //换行后,列坐标从0从新开始计算
x += printf("456");
y += printf("\n");
x=0; //换行后,列坐标从0从新开始计算
x += printf("789");
getch(); //暂停
gotoxy(x+1, y); //由于输出字符后光标自动后退一个位置,所以定位为(x+1, y)
getch(); //暂停,退到上一行 ...
return 0;
}
jixingzhong
2006-06-19
打赏
举报
回复
函数名: gotoxy
功 能: 在文本窗口中设置光标
用 法: void gotoxy(int x, int y);
程序例:
#include <conio.h>
int main(void)
{
clrscr();
gotoxy(35, 12);
cprintf("Hello world");
getch();
return 0;
}
输出的字符数也是可以被统计的,
那么其实是可以做到精确定位:
统计当前行的字符数目,也就是光标的列 c
换行符号的数目也是可以统计的,就是 光标的行 r,
退到上面的一行就是 行减去1 , 列不变 ....
jixingzhong
2006-06-19
打赏
举报
回复
用定位吧 ...
由于你的 \n 都是单独输出的,
那么可以对 \n 进行计数,
需要后退到上一行的时候,
用 gotoxy 指定光标的位置就可以了。
Vim快速
移动
光标
至行首和行尾 、第
一行
和最后
一行
本文介绍在Vi/Vim编辑器中如何快速跳转到文件的第
一行
和最后
一行
,以及如何快速
移动
光标
至行首和行尾的实用技巧。
C语言设置
文本
颜色和
移动
光标
本文分享了使用C语言进行
文本
模式
游戏开发的三种实用技巧:设置
文本
颜色以增强视觉效果;通过
移动
光标
来改善游戏界面布局;并提供了具体的代码示例,帮助初学者快速上手。
linux vim
光标
下移,vim
光标
移动
到下
一行
上
一行
,快速
移动
快捷键
本文介绍了Vim编辑器中的高效导航与编辑方法,包括字符、单词、整行及
文本
块的快速
移动
技巧,以及如何利用滚屏命令进行文档浏览。通过掌握这些快捷键,可以显著提升代码编辑效率。
vim命令
模式
下
光标
移动
本文介绍了在Linux系统中使用Vim编辑器时的
光标
移动
操作。包括按字符/行、特定字符、字、句子和段落
移动
光标
,还涉及在屏幕内
移动
光标
以及浏览工作缓冲区不同部分的方法,如使用各种快捷键和组合键
实现
不同的
移动
效果。
【转载】Vim快速
移动
光标
至行首和行尾 、第
一行
和最后
一行
本文介绍在Vim编辑器中如何快速
移动
光标
至文件的第
一行
、最后
一行
、行首及行尾的方法。包括使用键盘快捷键如Home、End、gg、G等以及命令
模式
下的操作如输入:0、:1、$等。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章