- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:这是这个问题的续集。 Drawing colors to console causes color flicker
因此,在 C/C++ 中,printf
和 cout
等命令将写入明文输出。因此,为 80×25 文本显示和 60fps 设计的视频游戏必须每帧输出 2000 个字符的文本。我想在屏幕上书写,就像一个命令,比如说,将一个字符串写入第 12 行的第 4 列到第 9 列之类的东西,而不是每次发生变化时不断地附加纯文本。我不是指图形输出,这仍然是文本模式,但不是 plaintext-embedded-in-console 类型的文本模式。
编辑:对于那些想知道的人,输出整个屏幕明文每一帧动画的代码如下所示:https://github.com/PiotrGrochowski/testsortingvisualization/blob/master/test.cpp .有时会出现故障,我还没有计算速度(是否为 60fps)。
编辑:文本显示固定为 80×25 的概念确实意味着没有任何滚动或换行的概念。
编辑:https://en.wikipedia.org/wiki/VGA-compatible_text_mode .在 C/C++ 编程中,如何将其发送到命令提示符?
最佳答案
对于简单的操作,比如光标位置和文字颜色,可以使用ANSI转义码:https://en.wikipedia.org/wiki/ANSI_escape_code#Terminal_output_sequences如果控制台支持它,这将起作用,它在 Linux、Unix、Mac 上,据称也在 Windows 10 上。
这里有一个例子:https://rosettacode.org/wiki/Terminal_control/Cursor_positioning#C.2FC.2B.2B
如果控制台支持 ANSI 转义码,以下将在第 6 行第 3 列打印“Hello”:
#include <stdio.h>
int main()
{
printf("\033[6;3HHello\n");
return 0;
}
在 Windows 上,当控制台不支持 ANSI 时,有 Windows 特定的函数:
#include <windows.h>
int main() {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = {3, 6};
SetConsoleCursorPosition(hConsole, pos);
WriteConsole(hConsole, "Hello", 5, NULL, NULL);
return 0;
}
您还可以使用适用于 POSIX 的 ncurses 库。
关于c++ - 如何让控制台输出写入控制台而不是明文输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59373725/
我正在使用 将文本显示在屏幕上 text.setText(text.getText().toString()+"binary message sent: "+ msg + "\n"); 如何从屏幕上删
我正在编写一个程序来 ping 服务器并返回一个值。 我一直在尝试将 ping 覆盖到 JFrame,其中 JLabel 在透明窗口中显示 ping。 但是,每次我调用方法 DrawOverlay()
我正在尝试从 JTextPane 中删除所有文本。我以为你可以简单地使用: textPane.setText(""); 这确实有效,但由于某种原因,调用该方法后总是有一个空行。为什么会这样?我该如何预
更新到新发布的 Xcode 7 版本后,我遇到了这个问题。 应用程序传输安全性已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时异
我试图在单击单选按钮时清除简单文本框中的文本。这是我的 CoffeeScript ... $("#selection_single").click -> $("#from_date_tex
复制代码 代码如下: Set Shell = CreateObject("WScript.Shell") Shell.Run "cmd /c @runas /use
TortoiseSVN 需要打开哪些端口进行身份验证(基本)才能提交?我知道这不是一件好事,但我相信用户名和密码现在是清楚的。 让我尽可能多地描述一下我所知道的设置以及似乎正在发生的情况。 我是一名承
我正在使用速度模板为通知系统生成纯文本电子邮件。我有一个“收件人”POJO 列表,其中包含用户 ID 和电子邮件地址。我想迭代这些 POJO 并在一行中输出用户 ID(最终用逗号等分隔符分隔)。我在格
我正在尝试围绕 CNG 的 AES 实现 AES-OFB 包装器以进行对称加密。 我遇到了一个我无法理解的问题...我创建了一个 AES 算法句柄 (BCRYPT_AES_ALGORITHM) 并导入
dat.gui.js 我尝试使用DAT.GUI.js中的文本输入,当我单击输入框时,如果有默认值,文本输入框应该是清晰的。完成后,会弹出一个确认框(Message Box),告知用户输入的消息。 现在
我正在使用原生脚本的 angular 版本并尝试为我的网络创建登录系统。 下面是我尝试登录网络的代码。 home.component.ts import { LoginService } from
我有一个从 Nib 加载的屏幕外 UITextView 实例,当用户点击“评论”按钮时,它会移动到屏幕框架中。输入使用的任何文本都是不可见的。如果用户旋转设备,文本就会出现。 我试过设置 setNee
我正在尝试使用 pyaes 进行 AES 加密。 我的下面的代码运行完美。 text = 'Hello world !!!!' encrypter = pyaes.AESModeOfOperation
我在 Stack Overflow 中看到了很多答案,解释了我们如何通过监听 keydown 事件并将焦点重定向到位于屏幕外的文本区域来删除文本粘贴的格式。这个解决方案很好,但没有解决使用上下文菜单或
正如标题所说。使用 iPhone SDK,我想使用服务器提供的现有 key 和指数对一些(小)明文进行 RSA 加密以进行身份验证。这肯定是一项简单的任务,需要一个库导入和几行代码?如果没有,为什
我是一名优秀的程序员,十分优秀!