如何将输出设置为中间?

时间:2015-11-18 22:59:05

标签: c++ iostream iomanip

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

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;
}

2 个答案:

答案 0 :(得分:3)

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

答:是的。没有&#34; cout&#34;直。但肯定会有像ncurses这样的东西:

答案 1 :(得分:1)

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

但是根据您的需求有多复杂,您可以考虑使用ansi终端仿真......大多数系统都有它们。 (在Ubuntu上,它被称为gnome-terminal“)

然后你可以使用ansi终端控制输出。例如,

void gotoxy(int col, int row)

可以输出esc char,       接着是“[”和行(即“12”),       其次是 ”;”和编号(“40”)       接着是“H”。

用户输入将是std :: cin。

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