C++中CIN之前的CUT

C++中CIN之前的CUT,c++,console-application,iostream,cursor-position,C++,Console Application,Iostream,Cursor Position,我需要帮助解决这个问题。可以在cin之前打印文本吗。 例如: #include<iostream> #include<conio.h> void main () { char name[20]; cout<<"====================================\n"; cout<<"Enter your name: "; cin>>name; cout<<"\n=====================

我需要帮助解决这个问题。可以在cin之前打印文本吗。 例如:

#include<iostream>
#include<conio.h>
void main ()
{
char name[20];
cout<<"====================================\n";
cout<<"Enter your name: ";
cin>>name;
cout<<"\n====================================";
getch();
}

如果我读对了,您希望光标神奇地跳回到名称旁边:即使打印了更多输出

这在iostream样式代码中不可用。你必须为此使用一个特殊的库…一些允许光标控制的东西,例如a风格的功能。如果您的程序仅适用于windows,则会出现错误

这些库通常为文本输出提供其他扩展,如设置颜色。但是它们会降低你的程序的可移植性。在我看来,通常最好避免它们

然而,如果你想忽略这个建议,尝试一下。。。以下是仅windows版本的一些基本信息:

…以及有关诅咒路线的教程的一些信息,以实现平台独立性:

stdio输入/输出方法适用于流。流是某种输出或输入介质,可以是文件、打印机、线路控制台、网络流、管道或其他输入设备。此抽象不允许更改已编写的内容。因此,不可能在其他内容的下方打印内容,然后跳回打印机无法执行的前一行

有一些库允许控制到某些特殊输出设备的输出。在windows中,Win32ConsoleAPI表示一个windows控制台窗口,当然,它能够执行此任务,因此提供了重新定位输出光标的方法

对于相同的问题,一个更独立于平台的解决方案是一个名为libncurses的库,它也可用于其他特殊的终端类型,例如Linux控制台

libncurses初学者教程:


Windows控制台API参考:

我认为coutmain中的remove\n应该声明为int main反转cin和cout行的顺序?是否希望第二行=-在光标下方的屏幕上可见?对于表示抽象输入和输出流的cin/cout方法,这是不可能的。如果只想寻址可视控制台,可以使用Win32 ConsoleAPI或libncurses。行按顺序执行。把第三行放在cin行之前,你就会得到你想要的,除非我误解了你的问题。此外,如果您正在学习编程,您可能希望使用不同的编译器,一些标准和现代的编译器。你似乎在用一些旧的DOS编译器来代替Turbo?我当然想试试。你能发布链接并解释一下具体是怎么做的吗?谢谢@ChinmayDabke添加了几个链接,但是windows控制台和诅咒将是StackOverflow和其他地方的好搜索关键字。@ChinmayDabke我忽略了源代码中的标题,实际上可能有一个。但是,该文件只包含在非常旧的编译器中,您应该避免使用它,并可能在使用时获得一个新的编译器。
====================================
Enter your name: <CURSOR>
====================================