1

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

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

2 回答 2

3

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

答:是的。不是直接用“cout”。但肯定有类似 ncurses 的东西:

于 2015-11-18T23:07:24.000 回答
1

就我自己而言,我更喜欢诅咒。

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

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

void gotoxy(int col, int row)

可以输出一个 esc 字符,然后是“[”和行(即“12”),然后是“;” 和列号(“40),后跟“H”。

用户输入将是 std::cin。

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

于 2015-11-18T23:48:41.863 回答