如何将输出设置为中间?

How to set output to middle?

是否可以编写代码使我输出的文本格式化到屏幕中间?我已经尝试了很多,但没有任何效果。这是我目前想到的。

cout.setf (ios::middle);

这是一个错误。 我也试过

setw(10);//etc.

但我对使用 setw 命令有点陌生,所以我不知道如何正确使用它。

更新:

//The Game of 4 Seasons
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

int main()
{
cout << "Welcome to this game\n\n\n";

system ("pause");
system ("cls");

cout << "CAUTION!\n\n";
cout << "The adventure you are about to embark contains high levels of:\n";
cout << "Fun\n";
cout << "Adventure\n";
cout << "Excitement\n\n\n";
cout << "If you have a record of buzz killing or anything similar, \nthen this game is NOT for you.\n\n\n\n";

system ("pause");
return 0;
}

问:是否可以编写代码使我输出的文本格式化到屏幕中间?

答:是的。不能直接使用 "cout"。但肯定是像 ncurses 这样的东西:

对于我自己来说,我更喜欢诅咒。

但是根据您的需求的复杂程度,您可能会考虑 ansi 终端仿真……大多数系统都有。 (在 Ubuntu 上称为 gnome-terminal")

那你就可以用ansi终端控制输出了。例如,

void gotoxy(int col, int row)

可以输出一个esc字符, 接着是“[”和行(即“12”), 其次是 ”;”和列号 ("40) 其次是 "H".

用户输入将是 std::cin。

不是一个很好的解决方案,但具有一些功能。