在cplusplus官方网站中,对ends的定义如下:
_CRTIMP inline basic_ostream<char, char_traits<char> >&
__cdecl ends(basic_ostream<char, char_traits<char> >& _O)
{
_O.put('\0');
return (_O);
}
可以看到,ends输出的是字符’\0’,不同的操作系统对’\0’处理的方式也不同,在Windows系统下把‘\0’当作空格输出,而在Linux系统下把‘\0’当作空而什么都不输出。