gpt4 book ai didi

c - fputs() 到 fgets() 之后的同一控制台行

转载 作者:行者123 更新时间:2023-11-30 18:51:45 25 4
gpt4 key购买 nike

#include <stdio.h>
int main()
{
char line[100];

fputs("Enter text: ", stdout);
fgets(line, 100, stdin);
putchar('\b'); //doesn't do anything
fputs(" <-- What a great text!", stdout);
}

代码打印:

Enter text: (whatever)
<-- What a great text!

相反,我希望:

Enter text: (whatever)   <-- What a great text!

显然'\b'无法退格'\n'来自stdin ,即使它是最后一个字符。

也许有什么想法吗? C++ 就可以了,像 ncurses 这样的库不是。仅供引用:A similar SO question处理stdout仅无需用户输入。

最佳答案

如果您可以使用console codes :

#include <stdio.h>
#include <string.h>

int main(void)
{
char line[100];
size_t size;

size = (size_t)printf("Enter text: ");
fgets(line, 100, stdin);
printf("\033[A\033[%zuC", size + strlen(line));
fputs(" <-- What a great text!", stdout);
return 0;
}

关于c - fputs() 到 fgets() 之后的同一控制台行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36164521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com