这是一个用例来澄清我的问题。假设我有一个设置为在 中运行的日历程序,~/.bashrc
它确保流输出覆盖相同的行块。
是否可以在不破坏新输入的情况下从后台进程在终端中显示流输出?我已经看过在终端的特定位置显示后台进程的标准输出,但是提问者需要在终止时输出新行,我不需要这样做。
这是程序输出的屏幕截图,当前在前台运行并在输出一次格式化文本后终止:
我只希望格式化的文本不断替换自身,同时允许前台进程正常运行。在 Bash、C 和/或 C++ 中使用类似zsh
或 ANSI 转义序列的解决方案对我来说是完美的。
作为参考,这是我正在使用的当前 C 代码,但如果对您来说更容易,您可以制定一个解决方案来cal
代替:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
const char months[12][10] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
const char weekDays[7][10] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
void printCalendar(void);
int getWeekDay(int, int, int, int, int);
int getMaxDay(int, int);
void getDate(int *, int *, int *, int *, int *, int …
Run Code Online (Sandbox Code Playgroud)