使用C++,是否存在与'\t'换行符相同的标准库常量?
理想的情况是:
std::stringstream ss;
ss << std::tab << "text";
Run Code Online (Sandbox Code Playgroud)
如果没有,为什么会这样呢?
(我知道我可以插入一个,'\t'但我想满足我的好奇心).
Bri*_*ian 69
号std::endl是不是换行不变.它是一个操纵器,除了插入换行符之外,还会刷新流.
如果您只想添加换行符,则应该只插入一个换行符'\n'.如果您只想添加一个标签,只需插入一个'\t'.没有std::tab任何东西,因为插入标签加上冲洗流并不是一个常见的操作.
Tre*_*key 14
如果您想自己添加该功能,它将如下所示:
#include <iostream>
namespace std {
template <typename _CharT, typename _Traits>
inline basic_ostream<_CharT, _Traits> &
tab(basic_ostream<_CharT, _Traits> &__os) {
return __os.put(__os.widen('\t'));
}
}
int main() {
std::cout << "hello" << std::endl;
std::cout << std::tab << "world" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
我不建议这样做,但我想添加一个完整性的解决方案.