使用 scanf() 获取输入时,在输入 <Enter>
后提示符会切换到新行。 。接受输入后如何保持在同一行?
最佳答案
如果您可以使用escape sequences (不可携带):
#include <stdio.h>
#include <string.h>
#define moveup(x) printf("\033[%zuA", (x))
#define movedn(x) printf("\033[%zuB", (x))
#define movefw(x) printf("\033[%zuC", (x))
#define movebw(x) printf("\033[%zuD", (x))
int main(void)
{
char str[128];
scanf("%s", str);
moveup(1UL);
movefw(strlen(str));
fflush(stdout);
return 0;
}
关于c - 避免在 C 中读取输入后打印新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39267159/