C++处理文件时 为什么每次输入的内容都会被覆盖 请问怎么能不被覆盖呢?

有人说用 以追加的形式输入到文件 用ios::ate的形式打开 请问这个代码应该怎么写
我这样写的 可是还是被覆盖了。。而且ofstream 以及fstream 有什么区别?
ofstream file;
file.open("同学录系统.txt",ios::ate);

file.open("同学录系统.txt",ios::app);

http://blog.csdn.net/douzi24/article/details/5708801