社区
C语言
帖子详情
如何实现?(急,高手进~~)
pomelowu
2003-01-09 05:09:16
用pure c 和 pure c++实现:
从键盘读入字串,然后用上下左右4个键调整光标,对字串作出修改,然后存盘。
...全文
52
7
打赏
收藏
如何实现?(急,高手进~~)
用pure c 和 pure c++实现: 从键盘读入字串,然后用上下左右4个键调整光标,对字串作出修改,然后存盘。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rushman
2003-01-10
打赏
举报
回复
不推荐直接使用中断,除非要做底层的应用。
即便是在Windows下,前面说的那些函数在TC2/TC3中也是完全可以用的(我试过,Win2K/TC3,它和Windows Console应用的实现机理不一样)。
C/C++的标准库函数是不支持如此操作控制台的(如搂主的应用),必须从操作系统得到支持。Win32API中有对控制台的操作接口,Unix/Linux下也有类似的接口。
//下面的例子可以看到如何在Windows Console中控制光标。
//在Windows Console中你可以将光标的控制写成gotoxy这样的函数
#include <windows.h>
#include <iostream.h>
#include <conio.h>
void goto_xy(unsigned X,unsigned Y,unsigned offset = 0)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord;
// 实际在Windows Console中,未必是25行、80列
// 更准确的控制需要获得控制台信息,或者设置控制台尺寸
offset += X + Y * 80;
offset %= 80 * 25;
coord.X = offset % 80;
coord.Y = offset / 80;
SetConsoleCursorPosition(hStdout,coord);
}
void main(void)
{
DWORD write_count;
goto_xy(0,4);
printf("Hello\n");
getch();
goto_xy(4,0);
cout<<"Hello"<<endl;
getch();
}
北极猩猩
2003-01-10
打赏
举报
回复
我不知道你会不会是在DOS下执行这些。
反正直接写屏,gotoxy这些东西在windows下都是行不通的。
还是老老实实调中断吧。(int 10)
SwordMan2001
2003-01-10
打赏
举报
回复
不管在什么编译器,都支持嵌asm吧,
那就用10号中断,自己做个类似
“wherex/wherey可以取得光标位置 gotoxy可以设置光标位置 甚至可以设置字符窗口。”的函数,其实也就几行而已。
rushman
2003-01-09
打赏
举报
回复
直接写屏就不是“纯”C/C++了。
conio.h中有控制台相关的控制函数。
(这个也是非标准的,Borland公司的编译器支持下面的函数,但是标准的C库函数没有对控制台进行操作的)
wherex/wherey可以取得光标位置
gotoxy可以设置光标位置
甚至可以设置字符窗口。
输入可以用getch()(这个是标准的)
#include <stdio.h>
#include <conio.h>
.....
char c;
while(1)
{
c = getch();
printf("%d\n",int(c));//看看输出
if(c == '\n')
break;
}
sjd163
2003-01-09
打赏
举报
回复
你想用上下键做全屏幕修改可能困难。
pomelowu
2003-01-09
打赏
举报
回复
如何用直接写屏技术?
lw549
2003-01-09
打赏
举报
回复
用直接写屏技术就可以实现.
你连内存都不用申请.直接用远指针就可以了.
根据用户按下的键值,判断是否是光标键,如果是,则移动指针.否则,修改当前指针处的内容为用户按下的键值.
js中~~和 | 的使用
~~的用法 ~~它代表双非按位取反运算符,如果你想使用比Math.floor()更快的方法,那就是它了。需要注意,对于正数,它向下取整;对于负数,向上取整;非数字取值为0,它具体的表现形式为: ~~null; // => 0 ~~undefined; // => 0 ~~Infinity; // => 0 --NaN; // => 0 ~~0; ...
js 中的 ~~ 随好用但好丑
你有在代码中用过~~吗?今天来普及一下它。举例:例1:let a = 10~a 最终结果为-11;~~a 最终结果为 10;对数字使用 ~ 时,结果为-(N+1)例2:let n...
JS按位非运算符(~)及双非(~~)的使用
JS按位非运算符(~)及双非(~~)的使用
js 中的~~含义
js 中的~~含义 ~是js里的按位取反操作符 , ~~ 就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是 ~~true === 1,~~false === 0。 ~~"" == 0 ~~[] == 0 ...
~~运算
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>~~运算符</title> </head> <body> </body> <script> // 数字类型的字符串可以转化为纯数字 ...
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章