繁体   English   中英

在c ++中,是否有可能/如何在输入后显示控制台输出,在同一行上,在给出用户输入之前?

[英]in c++, is it possible to / how can i display console output after input, on same line, before user's input is given?

在C ++中,当使用cout / cin从控制台写入和获取信息时,是否可以执行类似的操作

在此输入您的数据 - > __ < - 在此输入您的数据

用户输入光标位于下划线所在的位置,并且输出位于光标的两侧,然后用户的输入输入出现在这两位输出之间,然后返回到cin?

如果是这样我将如何做到这一点?

我希望在我的标题和解释之间明确我要问的是什么,如果不是,我可以尝试进一步解释。

理想情况下,我想使用iostream / cin和cout这样做,因为这些是我过去使用过的。 如果解决方案是使用... printf或类似的我会这样做,但可能需要一些额外的解释,因为我没有经验使用它输出。

注意:我试图找到这个问题的答案,我不能确定没有一个,这主要是找到大量其他输入/输出相关的问题。

编辑:这是在Windows 7上使用DOS shell,从Windows Visual Studio 2012命令行编译器编译。

如果是Windows,请使用Console API。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073(v=vs.85).aspx

如果是Linux,请使用curses库: http//en.wikipedia.org/wiki/Ncurses

如果您使用的是Windows,则可以选择使用conio.h。

#include<iostream.h>
#include<conio.h>

int main()
{
    clrscr();
    gotoxy(5,3);
    cout<<"HELLO WORLD";
    gotoxy(60,10);
    cout<<"HELLO WORLD";
    gotoxy(35,20);
    cout<<"HELLO WORLD";
    getch();
    return 0;
}

如果您只想使用ANSI库,可以尝试查看以下讨论: http//www.cplusplus.com/forum/lounge/78225/

在这两种情况下,你所要做的就是打印第一个文本,然后使用gotoxy,然后再打印seconde文本,gotoxy,你想要输入的位置,并读取用户输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM