任何人都可以告诉我为什么以下(无可置疑的无用)代码导致包含ascii 64的文件?
#include <ostream>
#include <fstream>
int main()
{
std::ofstream qFile("test");
qFile << std::ios::left;
}
答案 0 :(得分:5)
std::ios::left
不是操纵符,它是具有特定值的格式标志(在我的实现中为32)。在GCC 4.8上我得到32作为输出,但你的实现必须在设置标志值的方式上有所不同。
您正在寻找的操纵者是std::left
:
std::ofstream qFile("test");
qFile << std::left;
qFile << std::setw(20);