有什么方法可以将此功能分开并插入空间
Is there any way to split this function apart and insert spaces?
假设我需要以以下格式输出屏幕地址(地址的每一行通过与太空字符进行前缀对齐):
地址:1234 Elm St. 公寓#2后方 Anytown,NV 12345-6789
这是一些示例代码,该代码定义了一个免费功能(PrintAddress),它将打印到屏幕上的地址。我无法以任何方式更改PrintAddress函数的代码。
#include <iostream>
#include <iomanip>
using namespace std;
void printAddress( );
int main( )
{
cout << "Address: ";
printAddress ( );
return 0;
}
void printAddress( )
{
cout << "1234 Elm St." << endl;
cout << "Apartment #2 Rear" << endl;
cout << "Anytown, NV 12345-6789" << endl;
};
截至目前,此代码的输出为:
地址:1234 Elm St.公寓#2后方Anytown,NV 12345-6789
我想知道是否有可能以某种方式将功能分开,以将这些空间插入第二和第三行,并使一切都排成一列。有任何想法吗?还是不可能?
您可以重定向std::cout
,重新授权消息,然后将其重新发布到(真实)std::cout
。类似(尚未测试):
ostringstream oss;
auto oldcoutbuf = cout.rdbuf(oss.rdbuf());
printAddress();
string s = oss.str();
s = indentMsg(s);
cout.rdbuf(oldcoutbuf);
cout << "Address: " << s;
(可能被称为"认真可怕的使它起作用的东西"。)
printAddress
功能的设计简单。
相关文章:
- 为什么我不能拥有某些私有会员功能?
- 为什么这个base64解码/编码功能不能正常工作?
- C++ - 多态性:不能使用功能
- 为什么在传递lambda而不是功能指针时不能推断模板参数
- 不能将类中的输入函数与带参数的函数分开
- MPI_Op_create:候选功能不可行.自定义结构指针不能解释为空指针
- 制作uint128库却不能,找出什么功能搞砸了
- opencv2 可以使用 cmake 构建,但不能使用 CLion "build" 功能?
- 我不能在函数中使用新功能C++构建
- 有什么方法可以将此功能分开并插入空间
- 将功能与"int main"问题分开(初学者)
- 不能在QtCreator中使用使用g++ 7.2的c ++ 17功能
- 为什么不能将std :: stol转换为std ::功能对象
- 为什么这两个功能不能超载
- 有人能解释一下这个功能是如何工作的吗
- 为什么不能从指针施放到模板功能中的指针
- 我正在使用Xcode进行c ++编程和学习。为什么我不能在一个项目中放置许多具有 MAIN 功能的单独源文件?
- 我不能在不使用指针的情况下返回 2d 数组!我正在制作一个井字游戏类型游戏,这是我的向上移动功能
- 虚拟功能不能是朋友
- 模板文件和实现文件在 c++ 中不能分开