【发布时间】:2017-08-19 09:59:58
【问题描述】:
假设我有一个字符串 s,如下所示:
string s="i am\ngoing\nto\ncuet";
我想在控制台显示期间将字符串向右对齐。所以我想显示这样的输出:
编辑:最右边的字符应该对齐。
i am
going
to
cuet
我试过这段代码来显示输出:
cout.width(75);
cout<<s;
但它只会像这样右对齐第一行:
i am
going
to
cuet
然后我尝试了这段代码来获取输出:
for(int i=0 ; i<s.size(); i++)
{
cout.width(75);
cout<<s[i];
}
但是我使用这段代码得到了特殊的输出:
i
a
m
g
o
i
n
g
t
o
c
u
e
t
我怎样才能得到想要的输出?
【问题讨论】:
-
这不是右对齐的文本,您也不是在描述右对齐的文本。向右对齐的文本使其右大多数字符对齐。
-
您需要处理行,因此您的代码需要了解包含多行的字符串,并显式分别处理每一行。不是,也不是。
-
@n.m.我如何明确处理每一行?可以举个例子吗?
标签: c++ string output cout right-align