使用 setw 截断
Truncating with setw
有没有办法强制setw
截断?
假设我想获得输出:
等等等等
呸呸呸��
呸
有没有办法做到这一点:
string foo{"bu blah blah blee le"};
cout << setw(foo.size() - 3) << foo.data() + 3 << setw(foo.size() - 3) << foo << endl;
不,不是真的。
不过,对于此示例,您可以切换到未格式化的输出:
assert(foo.size() > 3);
cout.write(&foo[3], foo.size() - 3);
cout.write(&foo[0], foo.size() - 3);
不直接。
在printf
格式说明符中,可以使用精度参数以指定字符串中的最大字符数。 In C++,但是,您可以使用子字符串运算符:
std::cout << foo.substr(3) << foo.substr(0, foo.size() - 3) << std::endl;
(当然,对于第一个,您也可以使用 foo.c_str() + 3
。
相关文章:
- C++不截断双打?
- 可视化 如何在 c++ 中截断
- 如何使用 setfill 和 setw 在字符串变量中存储十六进制值
- 是否可以使用 Python csv 阅读器读取使用 C++ std::setw 生成的文件?
- 高效的字符串截断算法,按顺序删除相等的前缀和后缀
- 如何在 c++ 的 toString 方法中使用 setw(x) 并将其放入变量或建议中?
- 在 MFC 中使用 strncpy() 复制字符串时截断的数据
- C++ 警告:在一个声明中将截断从双精度初始化为浮点数,但在另一个声明中则不初始化
- 为什么为char指针分配内存不会截断char序列
- 在c++中使用setw和setprecision时,如何显示带值的$符号
- /usr/bin/ld: build-debug/obj/gpsitem.o: 文件无法识别: 文件被截断
- 通过函数C++截断字符数组
- 自动截断和 null 终止缓冲区溢出中的字符串缓冲区
- 了解双精度转换与整数转换中的整数与截断关系
- C++ cout 列表,其中小数点使用 setw(x) 对齐,而不是put_money
- C++ - 截断变量文件名中双精度的小数位
- 为什么 std:: setw 和 std::hex 不适合下面的代码?
- 撤消班次而不截断
- 如何理解 C++ std::setw 的不一致行为?
- 使用 setw 截断