【问题标题】:Vertical text align in C++ console [duplicate]C ++控制台中的垂直文本对齐[重复]
【发布时间】:2015-08-25 18:35:09
【问题描述】:

我想垂直对齐文本,水平对齐我使用setw(n);是否有类似的东西仅用于垂直对齐? 例如: 数字是 char 类型 123 456 789 我想在它们之间留出垂直空间。有这样的功能吗?

123

345

【问题讨论】:

  • 你能展示一个例子或用例吗?你想打印什么对齐?
  • 这还不够清楚...123 456 ... 是字符串吗?只是数字吗?你想要这个:std::cout << "123\n456\n789\n"; 吗?
  • C++ 中没有“垂直对齐”的概念,因为您从左到右编写并放置换行符,就好像它们只是一长行中的字符(它们就是这样!)。所以你必须非常具体地说明你想做什么以及为什么。
  • 你需要一个非常锋利的非标准控制台来处理它,而非标准部分会杀死你。 C++ 标准中对非标准的支持很少。如果你不能在任何地方都这样做,它就不会进入。这就是为什么文件系统支持仍然是实验性的,你需要编译器扩展来定义动态数组的类静态定义。

标签: c++ text


【解决方案1】:

我不认为有一个内置函数,但你可以使用这个函数

            #include<iostream>
            void setv(char list[100]);
            int main()
            {
                char list[100]="1234 2345 3245 98";
                setv(list);
            return 0;
            }
            void setv(char list[100])
            {
                for(int i=0;i<strlen(list);i++)
                {
                    if(list[i]!=' ')
                    {
                        std::cout<<list[i];
                    }
                    else
                    {
                        std::cout<<"\n\n";
                    }

                }   
            }

这会生成以下输出:

    1234

    2345

    3245

如果您使用的是 turbo c 或其他基本编译器,则“iostream”将变为“iostream.h”,“std::cout

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-04
    • 2020-01-23
    • 2021-01-01
    • 2017-04-26
    • 2019-08-20
    • 2021-01-30
    • 2014-05-23
    • 1970-01-01
    相关资源
    最近更新 更多